計(jì)算機(jī)等級(jí)二級(jí)C語言程序設(shè)計(jì)100例三

字號(hào):

【程序31】
    題目:請(qǐng)輸入星期幾的第一個(gè)字母來判斷一下是星期幾,如果第一個(gè)字母一樣,則繼續(xù)
    判斷第二個(gè)字母。
    1.程序分析:用情況語句比較好,如果第一個(gè)字母一樣,則判斷用情況語句或if語句判斷第二個(gè)字母。
    2.程序源代碼:
    以下是引用片段:
    #include
    void main()
    {
    char letter;
    printf("please input the first letter of someday/n");
    while ((letter=getch())!=’Y’)/*當(dāng)所按字母為Y時(shí)才結(jié)束*/
    { switch (letter)
    {case ’S’:printf("please input second letter/n");
    if((letter=getch())==’a’)
    printf("saturday/n");
    else if ((letter=getch())==’u’)
    printf("sunday/n");
    else printf("data error/n");
    break;
    case ’F’:printf("friday/n");break;
    case ’M’:printf("monday/n");break;
    case ’T’:printf("please input second letter/n");
    if((letter=getch())==’u’)
    printf("tuesday/n");
    else if ((letter=getch())==’h’)
    printf("thursday/n");
    else printf("data error/n");
    break;
    case ’W’:printf("wednesday/n");break;
    default: printf("data error/n");
    }
    }
    }
    【程序32】
    題目:Press any key to change color, do you want to try it. Please hurry up!
    1.程序分析:
    2.程序源代碼:
    以下是引用片段:
    #include
    void main(void)
    {
    int color;
    for (color = 0; color < 8; color++)
    {
    textbackground(color);/*設(shè)置文本的背景顏色*/
    cprintf("This is color %d/r/n", color);
    cprintf("Press any key to continue/r/n");
    getch();/*輸入字符看不見*/
    }
    }
    【程序33】
    題目:學(xué)習(xí)gotoxy()與clrscr()函數(shù)
    1.程序分析:
    2.程序源代碼:
    以下是引用片段:
    #include
    void main(void)
    {
    clrscr();/*清屏函數(shù)*/
    textbackground(2);
    gotoxy(1, 5);/*定位函數(shù)*/
    cprintf("Output at row 5 column 1/n");
    textbackground(3);
    gotoxy(20, 10);
    cprintf("Output at row 10 column 20/n");
    }
    【程序34】
    題目:練習(xí)函數(shù)調(diào)用
    1. 程序分析:
    2.程序源代碼:
    以下是引用片段:
    #include
    void hello_world(void)
    {
    printf("Hello, world!/n");
    }
    void three_hellos(void)
    {
    int counter;
    for (counter = 1; counter <= 3; counter++)
    hello_world();/*調(diào)用此函數(shù)*/
    }
    void main(void)
    {
    three_hellos();/*調(diào)用此函數(shù)*/
    }
    【程序35】
    題目:文本顏色設(shè)置
    1.程序分析:
    2.程序源代碼:
    以下是引用片段:
    #include
    void main(void)
    {
    int color;
    for (color = 1; color < 16; color++)
    {
    textcolor(color);/*設(shè)置文本顏色*/
    cprintf("This is color %d/r/n", color);
    }
    textcolor(128 + 15);
    cprintf("This is blinking/r/n");
    }
    【程序36】
    題目:求100之內(nèi)的素?cái)?shù)
    1.程序分析:
    2.程序源代碼:
    以下是引用片段:
    #include
    #include "math.h"
    #define N 101
    main()
    {
    int i,j,line,a[N];
    for(i=2;ifor(i=2;i  for(j=i+1;j  {
    if(a[i]!=0&&a[j]!=0)
    if(a[j]%a[i]==0)
    a[j]=0;}
    printf("/n");
    for(i=2,line=0;i{
    if(a[i]!=0)
    {printf("]",a[i]);
    line++;}
    if(line==10)
    {printf("/n");
    line=0;}
    }
    }
    【程序37】
    題目:對(duì)10個(gè)數(shù)進(jìn)行排序
    1.程序分析:可以利用選擇法,即從后9個(gè)比較過程中,選擇一個(gè)最小的與第一個(gè)元素交換,
    下次類推,即用第二個(gè)元素與后8個(gè)進(jìn)行比較,并進(jìn)行交換。
    2.程序源代碼:
    以下是引用片段:
    #define N 10
    main()
    {int i,j,min,tem,a[N];
    /*input data*/
    printf("please input ten num:/n");
    for(i=0;i{
    printf("a[%d]=",i);
    scanf("%d",&a[i]);}
    printf("/n");
    for(i=0;iprintf("]",a[i]);
    printf("/n");
    /*sort ten num*/
    for(i=0;i{min=i;
    for(j=i+1;jif(a[min]>a[j]) min=j;
    tem=a[i];
    a[i]=a[min];
    a[min]=tem;
    }
    /*output data*/
    printf("After sorted /n");
    for(i=0;iprintf("]",a[i]);
    }
    【程序38】
    題目:求一個(gè)3*3矩陣對(duì)角線元素之和
    1.程序分析:利用雙重for循環(huán)控制輸入二維數(shù)組,再將a[i][i]累加后輸出。
    2.程序源代碼:
    以下是引用片段:
    main()
    {
    float a[3][3],sum=0;
    int i,j;
    printf("please input rectangle element:/n");
    for(i=0;i<3;i++)
    for(j=0;j<3;j++)
    scanf("%f",&a[i][j]);
    for(i=0;i<3;i++)
    sum=sum+a[i][i];
    printf("duijiaoxian he is %6.2f",sum);
    }
    【程序39】
    題目:有一個(gè)已經(jīng)排好序的數(shù)組?,F(xiàn)輸入一個(gè)數(shù),要求按原來的規(guī)律將它插入數(shù)組中。
    1. 程序分析:首先判斷此數(shù)是否大于最后一個(gè)數(shù),然后再考慮插入中間的數(shù)的情況,插入后
    此元素之后的數(shù),依次后移一個(gè)位置。
    2.程序源代碼:
    以下是引用片段:
    main()
    {
    int a[11]={1,4,6,9,13,16,19,28,40,100};
    int temp1,temp2,number,end,i,j;
    printf("original array is:/n");
    for(i=0;i<10;i++)
    printf("]",a[i]);
    printf("/n");
    printf("insert a new number:");
    scanf("%d",&number);
    end=a[9];
    if(number>end)
    a[10]=number;
    else
    {for(i=0;i<10;i++)
    { if(a[i]>number)
    {temp1=a[i];
    a[i]=number;
    for(j=i+1;j<11;j++)
    {temp2=a[j];
    a[j]=temp1;
    temp1=temp2;
    }
    break;
    }
    }
    }
    for(i=0;i<11;i++)
    printf("m",a[i]);
    }
    【程序40】
    題目:將一個(gè)數(shù)組逆序輸出。
    1.程序分析:用第一個(gè)與最后一個(gè)交換。
    2.程序源代碼:
    以下是引用片段:
    #define N 5
    main()
    { int a[N]={9,6,5,4,1},i,temp;
    printf("/n original array:/n");
    for(i=0;i  printf("M",a[i]);
    for(i=0;i  {temp=a[i];
    a[i]=a[N-i-1];
    a[N-i-1]=temp;
    }
    printf("/n sorted array:/n");
    for(i=0;i  printf("M",a[i]);
    }