c语言题库定稿,C语言程序设计竞赛定稿.doc

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 (jmain()

{ 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 "stdio.h"

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 line.n",num);

}

10、编写检验密码程序,用户输入密码后,若正确,则显示信息:Now, you can do something!。若输入错误,则显示信息:Invalid password. Try again!,并控制至多重复3次。3次出错,给出信息:I am sorry, bye-bye!。

#include "stdio.h"

#include "string.h"

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 "math.h"

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 “stdio.h”

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、编写一个程序,求每种货物当天的售出金额及商店的总收入。

已知某商店销售货物的账单如表所示。

货物名称

单价(元/公斤)

销售量(公斤)

sweets(糖果)

fruit(水果)

pastry(点心)

12.80

15.30

20.00

120

82

44

15、三、已知学生三门课程基本信息如下。计算学生三门课程平均成绩后,列表输出学生的姓名、数学、英语、计算机、平均分信息,并打印出各科最高分。

姓名 数学 英语 计算机

Mary 93 100 88

Jone 82 90 90

Peter 91 76 71

Rose 100 80 92

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值