(c语法百题23)各位数字之和

知识点:

字符函数 strlen()的用法

ASCLL码与数字的转换,-48

数组的灵活用法,数组名的用法。

char a[100];  int i,s=0,m;  scanf("%s",&a);  m=strlen(a);

内容: 求输入的一个整数的各位数字之和

输入说明:

一行一个整数

输出说明:

一个整数

输入样例:

2147483646

输出样例 :

45

#include <stdio.h>
#include <string.h>
int main()
{
 char a[100];
 int i,s=0,m;
 scanf("%s",&a);
 m=strlen(a);
 for (i=0;i<m;i++)
 {
  s+=a[i]-48;
 }
 printf("%d\n",s);
 return 0;
}

(c语法百题23)各位数字之和

时间: 2024-10-30 08:04:02

(c语法百题23)各位数字之和的相关文章

(c语法百题20)约数之和

知识点: 求约数的算法 for语句,if语句灵活运用. 内容: 键入一个自然数 ,求这个自然数的所有约数之和 输入说明: 一个整数 输出说明: 一个整数 输入样例: 6 输出样例: 12 1 #include <stdio.h> 2 int main() 3 { 4 int n,s=0,i; 5 scanf("%d",&n); 6 for (i=1;i<=n;i++) 7 { 8 if (n%i==0) 9 { 10 s=s+i; 11 } 12 } 13 p

(c语法百题19)计算1+2+3+4......+n之和

知识点: for(::)循环的用法 s+=i的意思 内容: 计算1+2+3+4......+n之和 输入说明: 一个整数n 输出说明: 和 输入样例: 100 输出样例 : 5050 #include <stdio.h> int main() { int n,i,sum=0; scanf("%d",&n); for (i=0;i<=n;i++) { sum+=i; } printf("%d\n",sum); return 0; } (c语法

(c语法百题15)算术运算

知识点: 法1: 字符与ASCLL码的转换熟练! if……else的用法 法2: switch的用法 注意 scanf("%f %f %c",&a,&b,&c);与scanf("%f%f%c",&a,&b,&c);的区别,中间有无空格. 内容: 输入两个数值(均不为零)及一个算术运算符,输出其运算的结果(保留两位小数). 输入说明: 一行,2个数字,一字符(+,-,*,/,分别代表加.减.乘.除 输出说明: 一行,一个

(c语法百题25)从 n 个数中挑选出最大的数

知识点: 数组灵活运用 for循环灵活运用 简单的算法 内容: 从 n 个数中挑选出最大的数 输入说明: 两行 第一行一个数n,表示总的个数 第二行共n个数字,用空格隔开. 输出说明: 一行,最大数 输入样例: 4 1 2 3 4 输出样例 : 4 #include <stdio.h>#define MAX 200; int main() { int a[MAX],n,i,t; scanf("%d",&n); for (i=0;i<n;i++) { scanf

(c语法百题13)符号函数

知识点: if……else……if……else的用法. 内容: 计算下列函数(符号函数): 1 (x>0) y= 0 (x=0) -1 (x<0) 输入说明: 一个整数 输出说明: 一个数字(1,0,或者-1) 输入样例: 12 输出样例: 1 1 #include <stdio.h> 2 int main() 3 { 4 int a; 5 scanf("%d",&a); 6 if (a>0) 7 { 8 printf("1\n"

(c语法百题10)分离自然数

知识点: /  % 的灵活运用. 内容: 一个三位自然数,分离出它的百位.十位与个位上的数字 输入说明: 一行一个三位整数 输出说明: 一行三个数字 , 空格隔开.分别是百 十 个位数字 输入样例: 256 输出样例 : 2 5 6 #include <stdio.h> int main() { int a; scanf("%d",&a); printf("%d %d %d\n",a/100,a/10%10,a%10); return 0; }

(c语法百题16)一元二次方程的实数根

知识点: 数学函数头文件 #include <math.h> 开平方函数,sqrt() 注意等号 == 与赋值号= 的区别 内容: 求一元二次方程(二次项系统不为0)ax2+bx+c=0(a≠0)的实数根 输入说明: 一行三个系数(用空格隔开) 输出说明: 先输出(-b+sqrt())/2/a的根,一行一个,如果是相等实根,则输出一个(均保留两位小数) .若无实根输出No answer! 输入样例: 1 1 2 输出样例 : No answer! 1 #include <stdio.h&

(c语法百题4)求两数中的较大者

知识点: if语句 内容: 求两数中的较大者 输入说明: 一行两个数 输出说明: 一行 一个 数字 输入样例: 若题目没有特别说明,则应该以多组测试数据方式读取,或者参考a001. 3 5 输出样例 : 5 #include <stdio.h> int main() { int a,b,c; scanf("%d %d",&a,&b); if(a<b) { c=b; a=c; } printf("%d\n",a); return 0;

(c语法百题17)打印某年某月有几天

知识点: 逻辑表达式的灵活运用 法1: switch()的用法,注意字符用  case 'a': ……;break;  数字用 case 6:……;break; 不要忘了break: 法2: if……else 的用法 注意是否是闰年的算法 内容: 打印某年某月有几天 输入说明: 一行两个整数,前面是年份 后面是月份 输出说明: 一个整数 输入样例: 2009 6 输出样例 : 30 法1: #include <stdio.h> int main() { int y,m; scanf("