注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

88AVI-WEBZONE8-天空网

是金子总要发光的,但是当满地都是金子的时候,我自己也不知道自己是哪颗了

 
 
 

日志

 
 
关于我

两个人交谈,一个人可以洗耳恭听。但是,三个人则无法互谈这人世最严肃而应深究的事。 我们应该注意自己不用语言去伤害别的同志,但是,当别人用语言来伤害自己的时候,也应该受得起。 要对别人隐瞒我们知识的局限,最可靠的方法就是不要越过那界限。 不登高山,不知天之高也,不临深溪,不知地之厚也。 不飞则已,一飞冲天,不鸣则已,一鸣惊人!!!!!

网易考拉推荐

C语言程序设计题目  

2008-03-29 17:59:40|  分类: c语言 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

好久没做c了,因同学需要,好不容易用了将近两个小时做出来,做的比较垃圾,望大家多指点指点。

c语言程序设计》实验题目

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

                      *****

                     *****

                    *****

                   *****

                  *****                     

代码:

<----------------

c-zhy.blog.163.com/" target=_blank>c-zhy.blog.163.com/" target=_blank>#include <stdio.h>

void prt1(int numPrt1);

void c-zhy.blog.163.com/" target=_blank>main()

{

    int n;

    printf("Please enter a number:\n");

    scanf("%d",&n);

    for(int j=0;j<n;j++)

    {

    for(int i=n;i>j;i--)

    {

       printf(" ") ;

    }

    prt1(n);

    printf("\n");

    }

}

void prt1(int numPrt1)

{

    for(int num=0;num<numPrt1;num++)

    {

       printf("*");

    }

}

--------------à

 

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

                      ****

                     ******

                    ********

                   **********       

代码:

<----------------

c-zhy.blog.163.com/" target=_blank>#include <stdio.h>

void prt1(int numPrt1,int j);

void c-zhy.blog.163.com/" target=_blank>main()

{

    int n;

    printf("Please enter a number:\n");

    scanf("%d",&n);

    for(int j=0;j<n;j++)

    {

    for(int i=n-1;i>j;i--)

    {

       printf(" ") ;

    }

    prt1(n,j);

    printf("\n");

    }

}

void prt1(int numPrt1,int j)

{

    for(int num=0;num<numPrt1+j*2;num++)

    {

       printf("*");

    }

}

--------------à

 

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

                        *

                       ***

                      *****

                       ***

                        *            

代码:

<----------------

c-zhy.blog.163.com/" target=_blank>#include <stdio.h>

void prt1(int numPrt1,int j);

void prtKe(int numPrt1,int j);

void prtKef(int j);

void prtf(int numPrt1,int j);

void c-zhy.blog.163.com/" target=_blank>main()

{

    int n;

    printf("Please enter a number:\n");

    scanf("%d",&n);

    printf("----------------------------------------\n");

    for(int j=0;j<n;j++)

    {

       prtKe(n,j);

       prt1(n,j);

       printf("\n");

    }

    for(int f=1;f<n;f++)

    {

       prtKef(f);

       prtf(n,f);

       printf("\n");

    }

}

void prt1(int numPrt1,int j)

{

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

    {

       printf("*");

    }

}

void prtf(int numPrt1,int j)

{

    for(int num=2*numPrt1-1-j*2;num>0;num--)

    {

       printf("*");

    }

}

void prtKe(int numPrt1,int j)

{

    for(int num=j;num<numPrt1-1;num++)

    {

       printf(" ");

    }

}

void prtKef(int j)

{  

for(int i=0;i<j;i++)

{

printf(" ");

}

}

--------------à

 

1-4. 编程, 输入顶行字符和图形的高。输出如下例(顶行字符为'A',图形的高为5)所示的图形,

                    A

                 B c D

                E F G H I

              J K L M N O P

            Q R S T U V W X Y    

代码:

<----------------

c-zhy.blog.163.com/" target=_blank>#include <stdio.h>

void prt1(int numPrt1,int j,int x);

void prtKe(int numPrt1,int j);

int returnAsc(char flag);

void c-zhy.blog.163.com/" target=_blank>main()

{

    int n;

    char d;

    int x;

    printf("输入图形的高:\n");

    scanf("%d",&n);

    printf("输入顶行大写字符:\n");

    scanf("%s",&d);

    printf("----------------------------------------\n");

    x=returnAsc(d);

    for(int j=0;j<n;j++)

    {

       prtKe(n,j);

       prt1(n,j,x);

       printf("\n");

    }

}

void prt1(int numPrt1,int j,int x)

{

    x+=j*j;

    if(x>25)x=0;

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

    {

       printf("%c",x+65);

       x++;if(x>25)x=0;

    }

 

}

void prtKe(int numPrt1,int j)

{

    for(int num=j;num<numPrt1-1;num++)

    {

       printf(" ");

    }

}

int returnAsc(char flag)

{

    for(int xx=0;xx<26;xx++)

    {

       char p=xx+65;

       if(flag==p)

       {

           return xx;

       }

    }

    return 0;

}

 

--------------à

 

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

          1  2  3  4  5  6  7  8  9

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

          1  2  3  4  5  6  7  8  9

             4  6  8 10 12 14 16 18

                9 14 15 18 21 24 27

                  16 20 24 28 32 36

                     25 30 35 40 45

                        36 42 48 54

                           49 56 63

                              86 72

                                 81

 

 

代码:

<----------------

c-zhy.blog.163.com/" target=_blank>#include <stdio.h>

void prt1(int j);

void prtKe(int j);

void c-zhy.blog.163.com/" target=_blank>main()

{

    for(int j=1;j<10;j++)

    {

       prtKe(j-1);  

       prt1(j);

       printf("\n");

    }

}

void prt1(int j)

{

    for(int x=j;x<10;x++)

    {

       if(j*x>9)

       {

           printf("%d ",j*x);

       }else{

           printf("%d  ",j*x);

       }

    }

}

void prtKe(int j)

{

    for(int i=0;i<j;i++)

    {

       printf("   ");

    }

 

}

 

--------------à

 

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

代码:

<----------------

c-zhy.blog.163.com/" target=_blank>#include <stdio.h>

void square200 ();

void c-zhy.blog.163.com/" target=_blank>main()

{

square200 ();

}

 

void square200 ()

{

    int i;

    int num=0;

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

       num++;

        printf("完全平方数(%d) = %d\n",i,i*i);

    }

    printf("200以内(含200)所有完全平方数个数:%d\n",num);

}

--------------à

 

2-2. 中国古代数学家张丘建在他的《算经》中提出了著名的“百钱百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁、母、雏各几何? 编程,输出所有可能的购买方案。

代码:

<----------------

c-zhy.blog.163.com/" target=_blank>#include <stdio.h>

void c-zhy.blog.163.com/" target=_blank>main()

{

    int a,b,c;

 for(a=0;   a<=100/5;   ++a)  

 {  

      for(b=0;   b<=100/3;   ++b)  

      {  

         for(c=0;   c<=100;   c+=3)  

         {  

             if((a+b+c==100)&&(a*5+b*3+c/3==100))  

             {  

                    printf("鸡翁:%2d     鸡母:%2d     鸡雏:%2d\n",a,b,c);  

             }  

         }  

       }  

 }  

       

 

}

--------------à

 

2-3. 设N是一个四位数,它的9倍恰好是其反序数(例如:123的反序数是321),编程,输出所有满足条件的N。

代码:

<----------------

c-zhy.blog.163.com/" target=_blank>#include <stdio.h>

void c-zhy.blog.163.com/" target=_blank>main()

{

  int   M,N;  

  int   a=0,b=0,c=0,d=1;  

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

  {    

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

      {  

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

            {      

              for(d=1;d<=9;d++)  

                {

                  M=1000*a+100*b+10*c+d;  

                    N=1000*d+100*c+10*b+a;  

                  if(N*9==M)  

                  {

                     printf("满足条件的N:%d\n",N);

                  }  

   

                 }  

                                    

            }              

        }  

  }              

 

}

--------------à

 

2-4. 编程,求全部水仙花数。所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。如:153 = 13 + 53+ 33

代码:

<----------------

c-zhy.blog.163.com/" target=_blank>#include <stdio.h>

void c-zhy.blog.163.com/" target=_blank>main()

{

  int   i,j,k,n;  

   printf("'水仙花数'是:");  

    for(n=100;n<1000;n++)  

    {  

       i=n/100;  

       j=n/10-i*10;  

       k=n%10;  

       if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)  

       {  

           printf("\t%d",n);  

       }  

    }  

  printf("\n");     

 

}

--------------à

 

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

代码:

<----------------

c-zhy.blog.163.com/" target=_blank>#include <stdio.h>

void c-zhy.blog.163.com/" target=_blank>main()

{

    long i=555555;

    int j;

    for(j=999;j>=100;j--)

    {

       if(i%j==0)

       {

           printf(" %ld的约数中最大的三位数:%d,\n",i,j);

           break;

       }

    }

}

--------------à

 

2-6. 编程,输出1000到100000之间所有满足下列条件的所有整数及其个数:整数的各位数字之和等于5。

代码:

<----------------

c-zhy.blog.163.com/" target=_blank>#include <stdio.h>

void c-zhy.blog.163.com/" target=_blank>main()

{

    int g,s,b,q,w,no=0,num,sum;

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

    {

       for(q=1;q<10;q++)

       {

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

           {

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

              {

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

                  {

                     num=w*100000+q*1000+b*100+s*10+g;

                     sum=w+q+b+s+g;

                     if(sum==5&&num>1000&&num<1000000)

                     {

                         no++;

                         printf("整数:%d\n",num);

                     }

                  }

              }

           }

       }

    }

    printf("个数:%d",no);

}

--------------à

 

2-7. 如果一个数恰好等于它的因子之和,则称该数为“完全数”。如:6的因子是1、2、3,而6=1+2+3,则6是个“完全数”。编程,输出1000以内的全部“完全数”。

代码:

<----------------

c-zhy.blog.163.com/" target=_blank>#include <stdio.h>

void c-zhy.blog.163.com/" target=_blank>main()

{

int totle=1;

printf("%d\n",1);

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

{

    int flag=0,sum=0,num[1000];

    for(int x=1;x<i;x++)

    {

       if(i%x==0)

       {

           num[flag]=x;

           flag++;

       }

    }

    for(int m=0;m<flag;m++)

    {

       sum=sum+num[m];

    }

    if(sum==i)

    {

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

       totle++;

    }

 

}

printf("完全数有:%d个\n",totle);

}

--------------à

 

 

3-1. 编程,输入10个整数,然后进行查找。输入要查找的整数,若找到,则输出该数在数组中的下标位置,否则输出“can not found!”。

代码:

<----------------

c-zhy.blog.163.com/" target=_blank>#include <stdio.h>

int find(int n[10],int s);

void c-zhy.blog.163.com/" target=_blank>main()

{

    int flag=0,num[10],search;

    do{

       printf("输入第%d个数字:\n",++flag);

       scanf("%d",&num[flag-1]);

    }while(flag<10);

    printf("输入要查找的数字:\n");

    scanf("%d",&search);

    if(find(num,search)>10)printf("can not found!\n");

    else printf("下标是%d\n",find(num,search));

}

int find(int n[10],int s)

{

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

    {

       if(n[i]==s)

       {

           return i;

       }

    }

    return 20;

}

--------------à

 

3-2.编程,输入一个字符串并删除其中的指定字符。例如,对于字符串abcdcf,指定删除c,则结果为:abdf。

代码:

<----------------

c-zhy.blog.163.com/" target=_blank>#include <stdio.h>

void c-zhy.blog.163.com/" target=_blank>main()

{

          char s[100],ch;int i,j=0;

          printf("输入一个字符串:");

          gets(s);

          printf("输入要替换的字符:");

          ch=getchar();

          for(i=0;s[i];i++)

          {

           if(s[i]!=ch)

           {

              s[j++]=s[i];

           }

          }

           s[j]='\0';

           puts(s);

}

--------------à

 

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

代码:

<----------------

c-zhy.blog.163.com/" target=_blank>#include <stdio.h>

c-zhy.blog.163.com/" target=_blank>#include <string.h>

void convert(int i,int j,char a[])

{

char b;

if(i<j)

{

b=a[i];

a[i]=a[j];

a[j]=b;

convert(i+1,j-1,a);

}

 

 

}

 

void c-zhy.blog.163.com/" target=_blank>main()

{

int k;

char c[100];

printf("输入一个字符串:");

gets(c);

k=strlen(c)-1;

convert(0,k,c);

printf("%s \n",c);

}

 

--------------à

 

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

代码:

<----------------

c-zhy.blog.163.com/" target=_blank>#include<stdio.h>

c-zhy.blog.163.com/" target=_blank>#include<string.h>

void c-zhy.blog.163.com/" target=_blank>main()

{

    char s[100],a;

    printf("输入一个字符串:");

    gets(s);

    int x=strlen(s);

    for(int i=0;i<x;i++)

    {

       for(int l=i+1;l<x;l++)

       {

           if(strcmp(&s[i],&s[l])>0)

           {

              a=s[i];

              s[i]=s[l];

              s[l]=a;

           }

       }

    }

    puts(s);

}

--------------à

 

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

代码:

<----------------

c-zhy.blog.163.com/" target=_blank>#include<stdio.h>

c-zhy.blog.163.com/" target=_blank>#include<string.h>

void c-zhy.blog.163.com/" target=_blank>main()

{

    char s[200],ss[100],a;

    printf("输入第一个字符串:");

    gets(s);

    printf("输入第二个字符串:");

    gets(ss);

    strcat(s,ss);

    int x=strlen(s);

    for(int i=0;i<x;i++)

    {

       for(int l=i+1;l<x;l++)

       {

           if(strcmp(&s[i],&s[l])>0)

           {

              a=s[i];

              s[i]=s[l];

              s[l]=a;

           }

       }

    }

    puts(s);

}

--------------à

 

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

       例如,读入:MA DAM I MAD AM       输出:YES

          读入:ABcDBA.           输出:NO

代码:

<----------------

c-zhy.blog.163.com/" target=_blank>#include<stdio.h>

c-zhy.blog.163.com/" target=_blank>#include<string.h>

c-zhy.blog.163.com/" target=_blank>#define MAX 50

int cycle(char *s)

{

  char *h,*t;

  for(h=s,t=s+strlen(s)-1;t>h;h++,t--)

  {

    if(*h!=*t)

    {

        printf("%c",h);

        break;

    }

  }

  return t<=h;

}

void c-zhy.blog.163.com/" target=_blank>main()

{

    char s[MAX];

    puts("输入要判断的字符串:");

    scanf("%s",s);

    if(cycle(s))

       printf("YES\n");

    else

        printf("NO\n");

}

 

--------------à

 

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

代码:

<----------------

c-zhy.blog.163.com/" target=_blank>#include<stdio.h>

c-zhy.blog.163.com/" target=_blank>#include<string.h>

void c-zhy.blog.163.com/" target=_blank>main()

{

    char s[100],ss[100],end[100],i=0;

    while(1)

    {  

       if(i==0)

       {

           puts("输入字符串:");

           gets(s);

           if(strlen(s)==0) break;

           i++;

       }else{

           puts("输入字符串:");

           gets(ss);

           if(strlen(s)>strlen(ss))strcpy(end,s);else strcpy(end,ss);

           if(strlen(ss)==0) break;

           i=0;

       }

    }

    puts(end);

}

 

--------------à

 

3-8. 用空格分开的字符串称为单词。输入多行字符串,直到遇到了单词"stop"时才停止。最后输出单词的数量。

代码:

<----------------

c-zhy.blog.163.com/" target=_blank>#include<stdio.h>

c-zhy.blog.163.com/" target=_blank>#include<string.h>

void c-zhy.blog.163.com/" target=_blank>main()

{

    char str[81];

    int i,num=0,word=0;

    char c;

    printf("输入字符串:\n");

    gets(str);

    for(i=0;(c=str[i])!='\0';i++)

    {

       if(c==' ')

       {

           word=0;

       }

       else if(word==0)

       {

           word=1;

           num++;

       }

    }

    printf("共有%d个单词.\n",num);

 

}

 

--------------à

 

  评论这张
 
阅读(1302)| 评论(2)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017