1、编写程序,从键盘上连续输入若干字符,直到回车换行符结束。
统计并输出所输入的空格、
大写字母、小写字母,以及其他字符(不含回车换行符)的个数。
#include ""
main() {
char ch=' ';
int i=0, j=0, k=0, m= −1;
do {
if (ch>='a' && ch<='z')
i++;
else if (ch>='A' && ch<='Z')
j++;
else if (ch == ' ')
m++;
else
k++;
}while((ch=getchar())!='\n');
printf ("small letter = %d, capital letter = %d\n", i, j);
printf ("space = %d, other = %d\n", m, k);
}
编写程序,求100~999之间所有的水仙花数。
所谓“水仙花数”,即是一个三位数,它个位、十位、百位数字的立方和,恰好等于该数本身。
#include ""
main() {
int i, j = 1;
int nf, ns, nt;
for (i =100; i<=999; i++) {
nf = i%10;
ns = i/10%10;
nt = i/100;
nf = nf * nf * nf;
ns = ns * ns * ns;
nt = nt * nt * nt;
if ((nf + ns + nt) == i)
{
printf ("The %d's number is %d\n", j, i);
j++;
}
}
编写程序,求1-1/2+2/3-3/4+4/5-5/6+6/7….-99/100=
4、编写程序,随机产生1-35个不重复的数,并打印结果。
方法一
#include <>
main()
{ int t,i,j,n, a[35]={0};
srand(time(0));
for(i=0; i<35; )
{ n=rand()%35+1 ;
for(j=0;j<=i;j++)
if (a [j] ==n )
break;
if (j<i) continue ;
else
a[i]=n;
i++ ;
}
for(i=0; i<35; i++) printf("%4d",a[i]);
getch();
}
方法二
#include<>
main()
{ int j, i,t;
int d[35]={0};
srand(time(0));
for(i=0;i<35;i++)
d[i]=i+1;
for(i=0;i<35;i++)
{ j=rand()%34+1;
t=d[j];d[j]=d[i];d[i]=t; }
for(i=0;i<35;i++)
{printf("NO_%-3d %3d ",i+1,d[i]);
if ((i+1)%5==0) printf("\n") ; }
getch();
}
5、求1!+3!+...+11!之和
6、有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人
7、编写程序,求使等式xy*840=yx*1470成立数。
8、输入十进制整数,显示打印出十六进制。
9、统计文本单词的个数,输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
#include ""
main()
{char c,string[80];
int i,num=0,word=0;
gets(string);
for(i=0;(c=string)!='';i++)
if(c==' ') word=0;
else if(word==0)
{ word=1;
num++;}
printf("There are %d word in the ",num);
}
10、编写检验密码程序,用户输入密码后,若正确,则显示信息:Now, you can do something!。
若输入错误,则显示信息:Invalid password. Try again!,并控制至多重复3次。
3次出错,给出信息:I am sorry, bye-bye!。
#include ""
#include ""
main() {
char str[10];
int k;
for (k=0; k<3;k++) {
printf ("Please enter your password:");
gets(str);
if (strcmp (str, "913911")) {
if (k<2)
printf ("Invalid password. Try again!\n");
else
printf ("Invalid password. ");
}
else
break;
}
if (k<=2)
printf ("Now, you can do something!\n");
else
printf ("I am sorry, bye-bye!\n");
getchar();
}
11、验证哥德巴赫猜想:任意一个大于等于6的偶数都可以分解为两个素数之和。
编程从键盘输入这样的数打出结果。
基本思想:n为大于等于6的任一偶数,可分解为n1和n2两个数,分别检查n1和n2是否为素数,如都是,则为一组解。
如n1不是素数,就不必再检查n2是否素数。
先从n1=3开始,检验n1和n2(n2=N-n1)是否素数。
然后使n1+2 再检验n1、n2是否素数,… 直到n1=n/2为止。
利用上面的prime函数,验证哥德巴赫猜想的程序代码如下:
#include ""
int prime(int m)
{ int i,k;
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0) break;
if(i>k)
return 1;
else
return 0;
}
main()
{ int x,i;
printf("please input a even number(>=6):n=");
scanf("%d",&x);
if (x<6||x%2!=0)
printf("data error!n");
else
for(i=2;i<=x/2;i++)
if (prime(i)&&prime(x-i))
{
printf("%d+%dn",i,x-i);
printf("验证成功!");
break;
}
}
12、编写一个程序,输入若干字符串,然后按升序将诸字符串打印输出。
13、编写一个程序,接收从键盘输入的10个整数,存入一维数组,将前后元素依次对调后打印输出。
#include “”
main() {
int a[10], j, k, x;
for (j=0; j<10; j++)
scanf (“%d ”, &a[j]);
for (j=0, k=9; j<5; j++, k--)
{
x = a[j]; a[j] = a[k]; a[k] = x;
}
for (j=0; j<10; j++)
printf (“%d ”, a[j]);
}
14、编写一个程序,求每种货物当天的售出金额及商店的总收入。
已知某商店销售货物的账单如表所示。
15、三、已知学生三门课程基本信息如下。
计算学生三门课程平均成绩后,列表输出学生的姓名、数学、英语、计算机、平均分信息,并打印出各科最高分。
姓名 数学 英语 计算机
Mary 93 100 88
Jone 82 90 90
Peter 91 76 71
Rose 100 80 92
货物名称
单价(元/公斤) 销售量(公斤) sweets(糖果)
fruit(水果)
pastry(点心) 120 82 44。