question:
question:
answer:
#include <stdio.h> int main() { int i,n; double sum = 0.0; scanf("%d",&n); for(i=1; i<=n; i++){ sum += 1.0/i; } printf("前%d项和为:%f\n",n,sum); return 0; }question:
answer:
#include <stdio.h> int main() { int i,n; double sum = 0.0; double sign = 1.0;//既表示符号,又做分母 scanf("%d",&n); for(i=1; i<=n; i++){ sum += sign/i;//注意分子和sum类型,int类型时‘/’运算符仅代表取整 sign = -sign;//每运算一次符号取反 } printf("前%d项和为:%f\n",n,sum); return 0; }question:
answer:
#include <stdio.h> int main() { int x; scanf("%d",&x); //计算输入的值的总位数 int mask = 1;//标记输入的值有几位数 int t = x;//临时存放输入值除以10的结果 while( t>9){ t /= 10; mask *= 10; } printf("x=%d, mask=%d\n", x, mask); //正序输出 do{ int d = x / mask; printf("%d",d); if(mask > 9){ printf(" "); } x %= mask; mask /= 10; }while( mask>0 ); printf("\n"); return 0; }question:
question:
answer:
#include <stdio.h> int main() { int i,n; scanf("%d",&n); double l = 2;//分子//int类型的长度不够 double m = 1;//分母 double sum=0.0; double t; for(i=0; i<n; i++) { sum += l / m; t = l; l = l + m; m = t; } printf("%.2f",sum);//精确到小数点后两位 return 0; }question:
answer:
#include <stdio.h> int main() { int l;//分子 int m;//分母 scanf("%d/%d",&l,&m); int t; int a = l; int b = m; //求最大公约数 while(b > 0){ t = a % b; a = b;//最后一轮循环为最大公约数 b = t; } printf("%d/%d\n",l/a,m/a); return 0; }question:
answer:
#include <stdio.h> int main() { int n; scanf("%d",&n); if(n < 0){ printf("fu "); n = -n; } int mask = 1; int t = n; //确定输入数的基数;三位数的基数为100,四位数的基数为1000 while(t > 9){ t /= 10; mask *= 10;//基数 } do{ int d = n / mask; switch(d){ case 0: printf("ling");break; case 1: printf("yi");break; case 2: printf("er");break; case 3: printf("san");break; case 4: printf("si");break; case 5: printf("wu");break; case 6: printf("liu");break; case 7: printf("qi");break; case 8: printf("ba");break; case 9: printf("jiu");break; } if(mask > 9){//每次输出空格隔开,最后一位输出不加空格 printf(" "); } n %= mask;//取剩余位 mask /= 10; }while(mask > 0); printf("\n"); return 0; }question:
answer:
#include <stdio.h> int main() { int a,n,i; scanf("%d %d",&a,&n); int sum = 0; int t = 0; //0*10+2 2*10+2 22*10+2 前*10+2 for(i=0; i<n; i++){ t = t*10 + a; sum += t; } printf("%d\n",sum); return 0; }