成教学院C上机题.docx

上传人:b****6 文档编号:3967849 上传时间:2022-11-26 格式:DOCX 页数:17 大小:17.97KB
下载 相关 举报
成教学院C上机题.docx_第1页
第1页 / 共17页
成教学院C上机题.docx_第2页
第2页 / 共17页
成教学院C上机题.docx_第3页
第3页 / 共17页
成教学院C上机题.docx_第4页
第4页 / 共17页
成教学院C上机题.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

成教学院C上机题.docx

《成教学院C上机题.docx》由会员分享,可在线阅读,更多相关《成教学院C上机题.docx(17页珍藏版)》请在冰豆网上搜索。

成教学院C上机题.docx

成教学院C上机题

《C语言程序设计》上机实验题目

1-1.编程,输入n,输出如下例(n=5)所示的图形:

*****

*****

*****

*****

#include

intmain()

{

intnum;

inti,j,z;

printf("请输入整型数字:

");

scanf("%d",&num);

for(i=1;i<=num;i++)

{

for(j=0;j<(num-i);j++)

{

printf("");

}

for(z=0;z

{

printf("*");

}

printf("\n");

}

}

*****

 

1-2.编程,输入n值,输出如下例(n=4)所示的高和上底均为n的等腰梯形:

****

******

********

**********

 

#include

intmain()

{

intnum;

inti,j,z;

printf("请输入整型数字:

");

scanf("%d",&num);

for(i=1;i<=num;i++){

for(j=0;j<(num-i);j++){

printf("");

}

for(z=0;z

printf("*");

}

printf("\n");

}

}

1-3.编程,输入n,输出如下例(n=3)所示的边长为n的菱形:

*

***

*****

***

*

#include

#include

#include

intabs();

intmain()

{

intnum;

inti,j;

intcount;

printf("请输入整型数字:

");

scanf("%d",&num);

for(i=1;i<=(num*2)-1;i++){

count=0;

for(j=0;j

printf("");

count++;

}

for(j=0;j<((num*2)-1)-(count*2);j++){

printf("*");

}

printf("\n");

}

}

1-4.编程,输入顶行字符和图形的高。

输出如下例(顶行字符为'A',图形的高为5)所示的图形,

A

BCD

EFGHI

JKLMNOP

QRSTUVWXY    

 

#include

intmain()

{

intnum;

inti,j,z;

charc;

printf("请输入高度和首字符,使用逗号区分:

");

scanf("%d,%c",&num,&c);

for(i=1;i<=num;i++){

for(j=0;j<(num-i);j++){

printf("");

}

for(z=0;z<(i*2)-1;z++){

printf("%c",c);

c++;

}

printf("\n");

}

}

1-5.编程,打印下列上三角形式的乘法九九表。

123456789

----------------------------

123456789

4681012141618

9141518212427

162024283236

2530354045

36424854

495663

8672

81

#include

intmain()

{

inti,j,z;

for(i=1;i<=9;i++){

printf("%3d",i);

}

printf("\n");

for(i=1;i<=29;i++){

printf("-");

}

printf("\n");

for(i=1;i<=9;i++){

z=1;

while(i>z){

printf("");

z++;

}

for(j=i;j<=9;j++){

printf("%3d",i*j);

}

printf("\n");

}

}

2-1.编程,输出200以内(含200)所有完全平方数C(满足C2=A2+B2)及其个数。

#include

intmain()

{

inti,j,z;

intcount=0;

for(i=1;i<=200;i++){

for(j=1;j<=200;j++){

for(z=1;z<=200;z++){

if((i*i)==(z*z)+(j*j))

{

printf("(%d*%d)=(%d*%d)+(%d*%d)\n",i,i,j,j,z,z);

count++;

}

}

}

}

printf("一共有%d个完全平方数\n",count);

printf("去掉重复的话有%d个完全平方数\n",count/2);

}

2-2.中国古代数学家张丘建在他的《算经》中提出了著名的“百钱百鸡问题”:

鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁、母、雏各几何?

编程,输出所有可能的购买方案。

#include

intmain()

{

inti,j,z;

intsum=100;

intmoney=100;

for(i=0;i<=sum;i++){

for(j=0;j<=sum;j++){

for(z=0;z<=sum;z++){

if(((i*5)+(j*3)+(z/3)==money)&&(z%3==0)&&(i+j+z==sum))

{

printf("鸡瓮%d只,鸡母%d只,鸡雏%d只\n",i,j,z);

}

}

}

}

}

2-3.设N是一个四位数,它的9倍恰好是其反序数(例如:

123的反序数是321),编程,输出所有满足条件的N。

#include

intmain()

{

inti;

intnum,new_num;

for(i=1000;i<=9999/9;i++){

num=i*9;

new_num=(num/1000)+(num/100%10*10)+(num/10%10*100)+(num%10*1000);

if(i==new_num){

printf("%d,%d\n",i,num);

}

}

}

2-4.编程,求全部水仙花数。

所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。

如:

153=13+53+33

#include

intmain()

{

inti;

intbai,shi,ge;

intsum;

for(i=100;i<=999;i++){

bai=i/100;

shi=i/10%10;

ge=i%10;

sum=bai*bai*bai+shi*shi*shi+ge*ge*ge;

if(i==sum){

printf("水仙花数为%d=%d*%d*%d+%d*%d*%d+%d*%d*%d\n",i,bai,bai,bai,shi,shi,shi,ge,ge,ge);

}

}

}

2-5.编程,输出555555的约数中最大的三位数。

#include

intmain()

{

inti=555555;

intj=9999;

while(i%j!

=0){

j--;

}

printf("555555的约数中最大的三位数是:

%d\n",j);

}

2-6.编程,输出1000到100000之间所有满足下列条件的所有整数及其个数:

整数的各位数字之和等于5。

#include

intmain()

{

inti,j;

intsum;

inttemp;

inttotal=0;

for(i=1000;i<=1000000;i++){

j=i;

sum=0;

while

(1){

temp=j%10;

sum+=temp;

j=j/10;

if(j==0){

break;

}

}

if(sum==5){

printf("整数的个位数之和等于5的数字是%d\n",i);

total++;

}

}

printf("一共%d个符合条件的数\n",total);

}

2-7.如果一个数恰好等于它的因子之和,则称该数为“完全数”。

如:

6的因子是1、2、3,而6=1+2+3,则6是个“完全数”。

编程,输出1000以内的全部“完全数”。

#include

intmain()

{

inti;

intj=1;

intsum=0;

for(i=1;i<1000;i++)

{

while(i>j)

{

if(i%j==0){

sum=sum+j;

}

j++;

}

if(sum==i){

printf("完全数是%d\n",i);

}

j=1;

sum=0;

}

}

3-1.编程,输入10个整数,然后进行查找。

输入要查找的整数,若找到,则输出该数在数组中的下标位置,否则输出“cannotfound!

”。

.#include

intmain()

{

intnumber[10],inum;

inti,flag=0;

for(i=0;i<10;i++)

{

printf("请输入第%d个整数:

",i+1);

scanf("%d",&number[i]);

}

printf("请输入要查找的数:

");

scanf("%d",&inum);

for(i=0;i<9;i++)

{

if(number[i]==inum)

{

flag=1;

break;

}

}

if(flag==0){

printf("cannotfound!

");

}else{

printf("下标是%d",i+1);

}

}

3-2.编程,输入一个字符串并删除其中的指定字符。

例如,对于字符串abcdcf,指定删除c,则结果为:

abdf。

#include

#include

intmain()

{

charc[100];

chard;

inti;

printf("请输入小于100字节的字符串:

");

gets(c);

printf("请输入要删除的字符:

");

d=getchar();

for(i=0;c[i]!

='\0';i++)

{

if(c[i]!

=d)

{

printf("%c",c[i]);

}

}

printf("\n");

}

3-3.编程,输入一行字符,将其反序后再输出。

#include

#include

intmain()

{

charc[100];

intcount;

inti;

printf("请输入小于100字节的字符串:

");

gets(c);

count=(int)strlen(c);

printf("反序后的字符串是:

");

for(i=count-1;i>=0;i--){

printf("%c",c[i]);

}

printf("\n");

}

3-4.编程,输入一行字符,将其中的每个字符从小到大排列后输出。

#include

#include

intmain()

{

charc[100];

unsignedlongcount;

inti,j,temp;

printf("请输入小于100字节的字符串:

");

gets(c);

count=strlen(c);

for(i=0;i

for(j=i+1;j

if(c[i]>c[j]){

temp=c[i];

c[i]=c[j];

c[j]=temp;

}

}

}

printf("从小到大排序的结果为:

%s\n",c);

}

3-5.编程,输入两个已经按从小到大顺序排列好的字符串,将两个字符串合并为一个新的从小到大排列字符串并输出。

 

#include

#include

intmain()

{

charc1[100],c2[50];

unsignedlongcount;

inti,j,temp;

printf("请输入第一个小于50字节的字符串:

");

gets(c1);

printf("请输入第二个小于50字节的字符串:

");

gets(c2);

strcat(c1,c2);

count=strlen(c1);

for(i=0;i

for(j=i+1;j

if(c1[i]>c1[j]){

temp=c1[i];

c1[i]=c1[j];

c1[j]=temp;

}

}

}

printf("从小到大排序的结果为:

%s\n",c1);

}

3-6.编程,输入一行文字,判断该行文字是否是回文。

  例如,读入:

MADAMIMADAM输出:

YES

     读入:

ABCDBA.输出:

NO

 

#include

#include

intmain()

{

charc[100];

unsignedlongcount;

inti,flag=0;

printf("请输入第一个小于100字节的字符串:

");

gets(c);

count=strlen(c);

for(i=0;i

if(c[i]!

=c[count-1]){

flag=1;

break;

}

}

if(flag==1){

printf("NO\n");

}else{

printf("YES\n");

}

}

3-7.编程,输入若干个字符串,当输入字符串的长度为0时停止输入。

输出最长的字符串。

#include

#include

intmain()

{

charc1[100],c2[100];

inti=1;

printf("请输入第%d个小于100字节的字符串:

",i);

gets(c1);

if(strlen(c1)!

=0){

while(1==1){

++i;

printf("请输入第%d个小于100字节的字符串:

",i);

gets(c2);

if(strlen(c2)!

=0){

if(strlen(c2)>strlen(c1)){

strcpy(c1,c2);

}

}

else{

printf("最长的字符串是%s\n",c1);

break;

}

}

}else{

printf("您没有输入任何字符串\n");

}

}

 

3-8.输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

#include

#include

intmain()

{

charc[100];

inti=0,count=0,flag=0;

printf("请输入小于100字节的字符串:

");

gets(c);

for(i=0;i

if(c[i]==''){

flag=0;

}elseif(flag==0){

flag=1;

count++;

}

}

printf("一共有%d个单词\n",count);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1