程序设计入门――C语言 翁恺 第5周编程练习

匿名 (未验证) 提交于 2019-12-03 00:19:01
#include <stdio.h> #include <math.h>  int Isprime(int c) {     int d;     int i;     int ret=1;     d=sqrt(c)+1;     if ((c!=2)&&(c%2==0)){ret=0;}     for(i=3;i<d;i+=2)     {         if((c%i)==0)         {             ret=0;break;         } 	}     return ret;  }        int main()  {     int p=0;     int n=0;     int m=0;     int k=0;     int sum=0;     scanf("%d %d",&n,&m);     for(k=2;;k++)     {         if(Isprime(k))         {             p++;             if(p>=n && p<=m)             {                 sum+=k;             }             if (p>m) {break;}         }     }     printf("%d",sum);     return 0; }
2
念整数(5分)

题目内容:

你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。

如输入1234,则输出:

yi er san si

注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:

fu er san si yi


输入格式:

一个整数,范围是[-100000,100000]。


输出格式:

表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。


输入样例:

-30


输出样例:

fu san ling

时间限制:500ms内存限制:32000kb
#include <stdio.h> int main()  {   char *a[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};     int k[7];     int b=0;     int c=0;     int i=0;     int p=0;     int m=0;     scanf("%d",&b);     if (b<0) {c=0-b;}     else{c=b;}     if(b==0) {printf("%s",a[0]);}     if (b<0) {printf("%s ","fu");}     //if(b==(-0)){printf("%s %s","fu",a[0]);}     for(i=0;c>0;i++)     {         k[i]=c%10;         p=k[i];        //printf("%d\n",i);         c/=10;     }         m=i-1;          if (m==0) {p=k[0];printf("%s",a[p]);}          for(;m>0;m--)     {   p=k[m];     	//printf("\n%d\n",m);     	//printf("%d",p);         //printf("%d",a[p]);         printf("%s ",a[p]);         if((m-1)==0)          {            p=k[0];            printf("%s",a[p]);            break; 		}             	}     return 0; }




易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!