C语言题库

文章新地址
**1、题目描述:**计算A-B的值
输入描述:
  输入两个整数 a,b
  输出描述描述:
**输出a-b的结果 **
  样式输入:7 4
  样式输出:3
源代码 :

#include<stdio.h>
int main()
{
   
    int a,b;
    scanf("%d%d",&a,&b);
    printf("%d",a-b);
    return 0;
}  

**2、题目描述 **
题目标题:
找出最重的苹果
题目描述:
  小明有n个苹果(n<20),每一个苹果都有一定的重量,请找出最重的苹果,并输出该苹果的重量
输入描述:
  第一个整数是n,表示苹果的个数,接下来的n个整数是苹果的重量,每个整数之间用空格隔开
输出描述描述:
  最重的苹果的重量
样式输入: 2 45 93
样式输出: 93
**源代码 **

#include<stdio.h>
int main()
{
   
    int n,i,max,a[20];
    scanf("%d",&n);
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    max=a[0];
    for(i=1;i<n;i++)
        if(a[i]>max)
            max=a[i];
    printf("%d",max);
    return 0;
}  

3、题目标题: 汽水瓶
题目描述:
  有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,
  方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?
输入描述:
  输入为一个正整数n(1<=n<=100),表示空汽水瓶个数。
输出描述描述:
  输出为一个正整数,表示可换汽水的瓶数。
样式输入: 10
样式输出: 5
**源代码 **

#include<stdio.h>
int main()
{
   
    int n,sum=0;
    scanf("%d",&n);
    while(n)
    {
   
        sum+=n/3;
        n=n%3+n/3;
        if(n==2)
        {
   
            sum++;
            break;
        }
        if(n==1)
            break;
    }
    printf("%d",sum);
    return 0;
}  

4、题目标题:
  密码破译
题目描述:
  某组织欲破获一个外星人的密码,密码由一定长度的字串组成。此组织拥有一些破译此密码的长度不同的钥匙,若两个钥匙的长度之和恰好为此密码的长度,则此密码被成功破译。现在就请你编程找出能破译此密码的两个钥匙。
输入描述:
  输入第一行为钥匙的个数N(1≤N≤5000)
  输入第二行为密码的长度
  以下N行为每个钥匙的长度
输出描述描述:
  若无法找到破译此密码的钥匙,则输出仅1行0 。若找到两把破译的钥匙,则输出有两行,分别为两把钥匙的编号。若有多种破译方案,则只输出一种即可。
样式输入:
10
80
27
9
4
73
23
68
12
64
92
24
样式输出:
6
7
**源代码 **

#include<stdio.h>
int main()
{
   
    int n,len,s[100],a=0,b=0,i,j;
    scanf("%d",&n);
    scanf("%d",&len);
    for(i=0;i<n;i++)
        scanf("%d",&s[i]);
    for(i=0;i<n-1;i++)
        for(j=i+1;j<n;j++)
            if(s[i]+s[j]==len)
            {
   
                a=i+1;
                b=j+1;
                break;
            }
    if(a!=0&&b!=0)
        printf("%d\n%d",a,b);
    else
        printf("0");
    return 0;
}  

5、题目标题: 最大公约数
题目描述:
  输入两个整数a,b(1≤a,b≤100000),请编写程序求出他们的最大公约数。
输入描述:
  输入两个整数a b,用空格隔开
输出描述描述:
  输出对应a,b的最大公约数
样式输入:
25 10
样式输出:
5
**源代码 **

#include<stdio.h>
int main()
{
   
    int min,a,b,i;
    scanf("%d%d",&a,&b);
    min=(a>b)?b:a;
    for(i=min;i>=1;i--)
        if(a%i==0&&b%i==0)
        {
   
            printf("%d",i);
            break;
        }
    return 0;
}  

**6、题目标题:**字符串比对
题目描述:
  有字符串a(长度<=100),b(长度<=10),计算b串在a串中出现的次数。
解题思路:
  1、用gets语句从键盘输入两个字符串赋予a,b字符数组;
  2、建立两层嵌套循环,外循环至a串结束标志为止,内循环至b串结束标志为止;
  3、内循环中比对b串与a串的数据,满足条件时计数,否则break;
  4、所有循环结束后输出计数值。
输入描述:
  输入为两个字符串,第一个字符串长度小于100,第二个字符串长度小于10;
输出描述描述:
  输出为一个正整数;
样式输入:
abcdefghijklmnababcdeabc
abc
样式输出:
3
**源代码 **

#include<stdio.h>
#include<string.h>
int main()
{
   
    char a[100],b[10];
    int i,j,len1,len2,s,sum=0,k;
    gets(a);
    gets(b);
    len1=strlen(a);
    len2=strlen(b);
    for(i=0;i<(len1-len2+1);i++)
    {
   
        k=i;
        s=0;
        for(j=0;j<len2;j++)
            if(b[j]==a[i])
            {
   
                s++;
                i++;
            }
        i=k;
        if(s==len2)
            sum++;
    }
    printf("%d",sum);
    return 0;
}  

**7、题目标题:**围圈报数
题目描述:
  有n(n<=100)围成一圈,顺序排号(从1排到n)。
  从第一个人开始报数(从1报到m(m<=9)),凡报到m的人退出圈子,问最后留下的是原来第几号的那位?
解题思路:
  1、定义一个长度为100数组a,初始化为0;
  2、接收键盘输入值n,m,数组a的前n-1个元素赋值为1~n;
  3、建立两层嵌套循环,外循环至退出人数为n-1为止,
  内循环中从0循环至n,将a数组中非0的数据逢m置零,同时记录退出人数;
  4、循环全部结束后输出最后留下的一个a数组的非零元素的值。
输入描述:
  输入为两个正整数,第一个<=100,第二个<=9;
输出描述描述:
  输出为一个正整数;
样式输入:
100 3
样式输出:
91
**源代码 **

#include<stdio.h>
int main()
{
   
    int a[100];
    int n,m,i,sum=0,k=0;
    scanf("%d%d",&n,&m);
    for(i=0;i<n;i++)
        a[i]=i+1;
    while(sum>=0)
    {
   
        for(i=0;i<n;i++)
            if(a[i]!=0)
            {
   
                k++;
                if(k==m)
                {
   
                    a[i]=0;
                    k=0;
                    sum++;
                }
            }
        if(sum==n-1)
            break;
        else
            i=0;
    }
    for(i=n-1;i>=0;i--)
        if(a[i]!=0)
            printf("%d",a[i]);
    return 0;
}  

**8、题目标题:**星期几?
题目描述:
  编一个程序,已知今天是星期几,计算出n天后是星期几。要求使用枚举变量。
  提示:枚举变量的赋值只能用枚举常量来表示,但是枚举常量均有一个整形数代表,可将改整形数存入枚举变量地址以实现外部赋值的目的。
  如:enum day{Sun,Mon,Tue,Wed,Thu,Fri,Sat} d1;
     scanf(“%d”,&d1);
当键盘输入1时,相当于将d1赋值为Mon,即d1=Mon
枚举变量的输出,只能输出其代表的整形数,如需输出其对应的枚举常量,可借助字符串数组的方式处理;
  如:char p[]={“Sun”,“Mon”,“Tue”,“Wed”,“Thu”,“Fri”,“Sat”};
     printf(“%s”,
(p+2));
  其输出结果为:Tue
输入描述:
  输入为两个正整数,第一个数n(n<=6)表示今天是星期几,第二个数m(m<=1000),表示求m天后是星期几;
输出描述描述:
  输出为一个长度为3的字符串,表示星期几的名称;
样式输入:
1 4
样式输出:
Fri
**源代码 **

#include<stdio.h>
int main()
{
   
    int m;
    char p[][4]={
   "Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
    enum day{
   Sun,Mon,Tue,Wed,Thu,Fri,Sat} n;
    scanf("%d%d",&n,&m);
    m%=7;
    n+=m;
    n%=7;
    printf("%s",*(p+n));
    return 0;
}  

**9、题目标题:**整数各位取奇数
题目描述:
  将一个整数中的每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。
  例如,当s中的数为:87653142时,t中的数为:7531。
  (知识点:控制语句、函数、指针)
输入描述:
  输入数据为一个不大于100000000的整形数;
输出描述描述:
  输出数据为一个不大于100000000的整形数;
样式输入:
987654321
样式输出:
97531
**源代码 **

#include<stdio.h>
int main()
{
   
    int s,i,k=0;
    int a[100];
    scanf("%d",&s);
    while(s)
    {
   
        if((s%10)%2!=0)
            a[k++]=s%10;
        s/=10;
    }
    for(i=k-1;i>=0;i--)
        printf("%d",a[i]);
    return 0;
}  

**题目标题:**四位反序数
题目描述:
  设N是一个四位数,它的n倍恰好是其反序数(例如:123的反序数是321),
  编程,输出一个满足条件的N。(知识点:控制语句)
输入描述:
  输入为一个整形数n(2<=n<=9)
输出描述描述:
  输出为一个四位数的整形数
样式输入:
9
样式输出:
1089
**源代码 **

#include<stdio.h>
int main()
{
   
    int n,i,k,a,b,sum;
    scanf("%d",&n);
    for(i=1000;i<10000;i++)
    {
   
        sum=i;
        b=0;
        k=i*n;
        while(sum)
        {
   
            a=sum%10;
            b=b*10+a;
            sum/=10;
        }
        if(k==b)
        {
   
            printf("%d",i);
            break;
        }
    }
    return 0;
}  

**题目标题:**字母翻译
题目描述:
  编程: 求解下列式中各字母代表的数字并输出
   PEAR-ARA=PEA
  (知识点:控制语句)
输入描述:

输出描述描述:
  输出为四个数字,以空格分开,依次为代表P E A R 的数字;
样式输入:

样式输出:
8 7 6 5
**源代码 **

#include<stdio.h>
int main()
{
   
    int p,e,a,r,x,y,z;
    for(p=1;p<=9;p++)
        for(e=0;e<=9;e++)
            for(a=1;a<=9;a++)
                for(r=0;r<=9;r++)
                {
   
                    x=p*1000+e*100+a*10+r;
                    y=a*100+r*10+a;
                    z=p*100+e*10+a;
                    if(x-y==z)
                        printf("%d %d %d %d",p,e,a,r);
                }
    return 0;
}  

**题目标题:**字符串复制
题目描述:
  有一个字符串,包括n个字符。写一个函数,将此字符串从第m个字符开始的全部字符复制成另一个字符串。要求在主函数输入字符串及m值并输出复制结果。
(知识点:控制语句、字符串、指针)
输入描述:
  输入为一个字符串(长度小于80)及一个整形数(小于字符串的实际长度)
输出描述描述:
  输出为一个字符串
样式输入:
abcdefghijklmnopqrst
8
样式输出:
hijklmnopqrst
**源代码 **

#include<stdio.h>
int main()
{
   
    char a[80];
    char *p;
    int n;
    gets(a);
    scanf("%d",&n);
    p=a+n-1;
    printf("%s",p);
    return 0;
}  

**题目标题:**二维字符数组转换
题目描述:
  编写函数fun, 函数的功能是: 将M行N列的二维数组中的字符数据, 按列的 顺序依次放到一个字符串中。
例如, 二维数组中的数据为:
W W W W
S S S S
H H H H
则字符串中的内容应是: WSHWSHWSH。
(知识点:数组、指针)
输入描述:
  输入为一个3行4列二维字符数组数据
输出描述描述:
  输出为一个长度为12的字符数组;
样式输入:
A B C D
E F G H
I J K L
样式输出:
AEIBFJCGKDHL
**源代码 **

#include<stdio.h>
void fun(char a[3][5])
{
   
    int i,j,k=0;
    char s[13];
    for(i=0;i<4;i++)
        for(j=0;j<3;j++)
            printf("%c",a[j][i]);
}
int main()
{
   
    int i,j;
    char a[3][5],*p;
    for(i=0;i<3;i++)
        for(j=0;j<4;j++)
        {
   
            scanf("%c",&a[i][j]);
            getchar();
        }
    fun(a);
    return 0;    
}  

**题目标题:**年龄分组
题目描述:
  统计各年龄段的人数。N(N=20)个年龄通过键盘输入,并放在age数组中;
  要求函数把0至9岁年龄段的人数放在d[0]中,把10至19岁年龄段的人数放在d[1]中,
  把20至29岁年龄段的人数放在d[2]中, 其余依此类推,
  把100岁 (含100)以上年龄的人数都放在d[10]中。依次输出d[0]至d[10]。
输入描述:
  输入为20个正整数;
输出描述描述:
  输出为11个正整数;
样式输入:
1 2 11 12 22 23 33 34 44 45 55 56 66 67 68 88 99 100 101 102
样式输出:
2 2 2 2 2 2 3 0 1 1 3
**源代码 **

#include<stdio.h>
int main()
{
   
    int a[20];
    int d[11]={
   0};
    int i;
    for(i=0;i<20;i++)
        scanf("%d",&a[i]);
    for(i=0;i<20;i++)
    {
   
        if(a[i]>=0 && a[i]<=9)
            d[0]++;
        else if(a[i]>=10 && a[i]<=19)
            d[1]++;
        else if(a[i]>=20 && a[i]<=29)
            d[2]++;
        else if(a[i]>=30 && a[i]<=39)
            d[3]++;
        else if(a[i]>=40 && a[i]<=49)
            d[4]++;
        else if(a[i]>=50 && a[i]<=59)
            d[5]++;
        else if(a[i]>=60 && a[i]<=69)
            d[6]++;
        else if(a[i]>=70 && a[i]<=79)
            d[7]++;
        else if(a[i]>=80 && a[i]<=89)
            d[8]++;
        else if(a[i]>=90 && a[i]<=99)
            d[9]++;
        else
            d[10]++;
    }
    for(i=0;i<10;i++)
        printf("%d ",d[i]);
    printf("%d",d[10]);
    return 0;
}  

**题目标题:**分数数列求和
题目描述:
  有一个分数数列为:
  2/1,3/2,4/3,5/4……
  求出这个数列的前n(n<=20)项之和,保留小数点后4位。
输入描述:
  输入一个整数n(n<=20);
输出描述描述:
  输出为一个小数,保留小数点后4位;
样式输入:
5
样式输出:
7.2833
**源代码 **

#include<stdio.h>
int main()
{
   
    int i,k;
    double m,n,a[20];
    scanf("%d",&k);
    a[0]=2;
    for(i=1,m=3,n=2;i<20;i++)
    {
   
        a[i]=a[i-1]+m/n;
        m++;
        n++;
    }
    printf("%.4lf",a[k-1]);
    return 0;
}  

**题目标题:**杨辉三角形
题目描述:
输出n行杨辉三角形,如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
……………………
输入描述:
  输入为一个正整数n<n<=10);
输出描述描述:
  输出为n行杨辉三角形;
样式输入:
3
样式输出:
1
1 1
1 2 1
**源代码 **

#include<stdio.h>
int main()
{
   
    int a[10][10];
    int i,j,n;
    scanf("%d",&n);
    if(n>1)
    {
   
        for(i=0;i<n-1;i++)
        {
   
            a[i][0]=1;
            printf("%d",a[i][0]);
            for(j=1;j<i;j++)
            {
   
                a[i][j]=a[i-1][j-1]+a[i-1][j];
                printf(" %d",a[i][j]);
            }
            if(i>0)
            {
   
                a[i][i]=1;
                printf(" %d",a[i][i]);
            }
            printf("\n");
        }
            a[n-1][0]=1;
            printf("%d ",a[n-1][0]);
            for(j=1;j<n-1;j++)
            {
   
                a[n-1][j]=a[n-2][j-1]+a[n-2][j];
                printf("%d ",a[n-1][j]);
            }
            a[n-1][n-1]=1;
            printf("%d",a[n-1][n-1]);
    }
    else
        printf("1");
    return 0;
}  

**题目标题:**鞍点
题目描述:
  找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。
输入描述:
  输入一个3行3列的二维整形数组;
输出描述描述:
  如果鞍点存在,输出其坐标;否则输出-1;如:鞍点位于第一行第三列,则输出1 3;
样式输入:
1 2 3
4 5 6
7 8 9
样式输出:
1 3
**源代码 **

#include<stdio.h>
int main()
{
   
    int a[3][3],i,j,max,min,k1,k2,k,sum=0;
    for(i=0;i<3;i++)
        for(j=0;j<3;j++)
            scanf("%d",&a[i][j]);
    for(i=0;i<3;i++)
    {
   
        max=a[i][0];
        k1=0;
        for(j=1;j<3;j++)
            if(max<a[i][j])
            {
   
                max=a[i][j];
                k1=j;
            }
        min=a[0][k1];
        k2=0;
        for(k=1;k<3;k++)
            if(min>a[k][k1])
            {
   
                min=a[k][k1];
                k2=k;
            }
        if(k2==i)
        {
   
            sum++;
            printf("%d %d",i+1,k1+1);
        }
    }
    if(sum==0)
        printf("-1");
    return 0;
}  

**题目标题:**最长单词
题目描述:
  输入一个字符串,将其中最长的单词输出(不含标点符号);如果最长单词的数量有多个,输出第一个即可;
注:大写字母的ascii码从6590,小写字母的ascii码从97122;
输入描述:
  输入为长度小于100的字符串;
输出描述描述:
  输出为长度小于100的字符串;
样式输入:
Helo!I am chinese,nice to meet you!
样式输出:
chinese
**源代码 **

#include<stdio.h>
#include<string.h>
int main()
{
   
    int i,j=1,len,len1,len2,k=0,max=0,s[100]={
   0};
    char a[100],b[100],c[100];
    gets(a);
    len=strlen(a);
    for(i=0;i<len;i++)
    {
   
        if((a[i]<='z' && a[i]>='a') || (a[i]>='A' && a[i]<='Z'))
        {
   
            s[j]++;
            b[k]=a[i];
            k++;
        }
        else
        {
   
            b[k]='\0';
            if(s[j]>max)
            {
   
                max=s[j];
                strcpy(c,b);
            }
            k=0;
            j++;
        }
    }
    len2=strlen(c);
    for(i=0;i<len2;i++)
        printf("%c",c[i]);
    return 0;
}  

**题目标题:**查找不同的木棍
题目描述:
  小明的收集了一些木棍,并测量了每个木棍的长度,记录下来.假设小明有奇数根木棍,只有一个木棍找不到跟它一样长的另外一根木棍.请编程找出这个没有相同长度的木棍,输出它的长度.
知识点: 排序;或者用异或操作 0 异或x=x;x异或x=0;a异或b异或c=a异或(b异或c)=(a异或b)异或c=a异或c异或b
输入描述:
  输入包含一个奇数n(n<30000),然后是n个整数,表示每个木棍的长度,并保证只有一根木棍找不到跟他一样长的木棍.
输出描述描述:
  输出符合条件的木棍的长度
样式输入:
5 22 76 87 76 22
样式输出:
87
**源代码 **

#include<stdio.h>
int main()
{
   
    int a[30000],i,n,j,k,sum=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    for(i=0;i<n;i++)
        if(a[i]==0)
            k=0;
    for(i=0;i<n-1;i++)
        for(j=i+1;j<n;j++)
            if(a[i]==a[j])
            {
   
                a[i]=0;
                a[j]=0;
            }
    for(i=0;i<n;i++)
        if(a[i]!=0)
        {
   
            sum++;
            printf("%d",a[i]);
        }
    if(sum==0)
        printf("0");
    return 0;
}  

**题目标题:**最长上升子序列数(闫博钊)
题目描述:
  一个数的序列bi,当b1<b2<…<bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1,a2,…,aN),我们可以得到一些上升的子序列(ai1,ai2,…,aiK),这里1<=i1<i2<…<iK<=N。比如,对于序列(1,7,3,5,9,4,8),有它的一些上升子序列,如(1,7),(3,4,8)等等。这些子序列中最长的长度是4,比如子序列(1,3,5,8)
  你的任务,就是对于给定的序列,求出最长上升子序列的长度。
输入描述:
  第一行输入序列的长度N(1<=N<=1000)。第二行给出序列中的N个整数,这些整数的取值范围都在0到10000。
输出描述描述:
  输出最长上升子序列的长度
样式输入:
7
1 7 3 5 9 4 8
样式输出:
4
**源代码 **

#include<stdio.h>
int main()
{
   
    int n,i,j,max=0;
    int a[1000],b[1000];
    scanf("%d",&n);
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    for(i=0;i<n;i++)
        b[i]=1;
    for(i=n-1;i>=1;i--)
        for(j=i-1;j>=0;j--)
            if(a[j]<a[i]&&b[j]==b[i])
                b[j]++;
    for(i=0;i<n;i++)
        if(max<b[i])
            max=b[i];
    printf("%d",max);
    return 0;
}  

**题目标题:**求反顺序数
题目描述:
  输入一个正整数,要求以相反的顺序输出该数。例如输入12345,输出位54321
输入描述:
  输入一个整数n,
输出描述描述:
  输出一个反顺序的数
样式输入:
123456
样式输出:
654321
**源代码 **

#include<stdio.h>
#include<string.h>
int main()
{
   
    int len,i;
    char a[100];
    scanf("%s",a);
    len=strlen(a);
    for(i=len-1;i>=0;i--)
        printf("%c",a[i]);
    return 0;
}  

**题目标题:**求三个整数的最大公约数
题目描述:
  对任意三个整数,求它们的最大公约数
输入描述:
  三个整数a,b,c
输出描述描述:
  a,b,c的最大公约数
样式输入:
4 24 32
样式输出:
4
**源代码 **

#include<stdio.h>
int main()
{
   
    int a,b,c,max,i,k=0,m=0,n=0;
    int A[100]={
   1},B[100],C[100];
    scanf("%d%d%d",&a,&b,&c);
    for(i=1;i<=a;i++)
        if(a%i==0)
        {
   
            A[k]=i;
            k++;
        }
    for(i=0;i<k;i++)
        if(b%A[i]==0)
        {
   
            B[m]=A[i];
            m++;
        }
    for(i=0;i<m;i++)
        if(c%B[i]==0)
        {
   
            C[n]=B[i];
            n++;
        }
    printf("%d",C[n-1]);
    return 0;
}  

**题目标题:**第几天
题目描述:
  输入某年某月某日,判断这一天是这一年的第几天?
  程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,
  特殊情况,闰年且输入月份大于3时需考虑多加一天。
输入描述:
  输入为三个整数,分别表示年、月、日;
输出描述描述:
  输出为一个整数,表示输入的年月日为当年的第几天;
样式输入:
2010 1 1
样式输出:
1
**源代码 **

#include<stdio.h>
int main()
{
   
    int yy,m,dd,n;
    scanf("%d%d%d",&yy,&m,&dd);
    if(m==1)
        n=dd;
    else if(m==2)
        n=31+dd;
    else if(m==3)
        n=59+dd;
    else if(m==4)
        n=90+dd;
    else if(m==5)
        n=120+dd;
    else if(m==6)
        n=151+dd;
    else if(m==7)
        n=181+dd;
    else if(m==8)
        n=212+dd;
    else if(m==9)
        n=243+dd;
    else if(m==10)
        n=273+dd;
    else if(m==11)
        n=304+dd;
    else
        n=334+dd;
    if(yy%400==0 || (yy%4==0 && yy%100!=0))
        if(m>2)
            n++;
    printf("%d",n);
    return 0;
}  

**题目标题:**发放奖金
题目描述:
   某车间按工人加工零件的数量发放奖金,奖金分为五个等级:每月加工零件数N < 100者奖金为10元;100 < = N < 110者奖金为30元;110 < = N <120 者奖金为50元;120 < = N <130 者奖金为70元;N > 130者奖金为80元。 请编程,由键盘输入加工零件数量,显示应发奖金数。
输入描述:
  输入10个加工零件数量,数量小于400.
输出描述描述:
  对每一个加工零件个数,输出应发奖金数,每个奖金数之间用空格隔开
样式输入:
85 85 85 85 85 85 85 85 85 85
样式输出:
10 10 10 10 10 10 10 10 10 10
**源代码 **

#include <stdio.h>
int main()
{
   
    int a[10],i,b[10];
    for(i=0;i<10;i++)
        scanf("%d",&a[i]);
    for(i=0;i<10;i++)
    {
   
        if(a[i]<100)
            b[i]=10;
        else if(a[i]>=100&&a[i]<110)
            b[i]=30;
        else if(a[i]>=110&&a[i]<120)
            b[i]=50;
        else if(a[i]>=120&&a[i]<130)
            b[i]=70;
        else
            b[i]=80;
    }
    for(i=0;i<9;i++)
        printf("%d ",b[i]);
    printf("%d",b[9]);
    return 0;
}  

**题目标题:**电子钟模拟显示
题目描述:
   电子钟用四位数字显示时间,从0000~2359。每位数字用一个33的字符(‘|’,‘‘,’ ‘)来显示如数字8,
用数组表示为{ {’ ‘,’
’,’ ‘},{’|‘,’‘,’|‘},{’|‘,’‘,’|'}模拟显示如下:
_
||
|
|
要求给出一个给定的时间,模拟显示出来。
提示:设置10个3
3的数组,初始化为0~9的数字模拟显示;
定义一个3*12的数组,将4个数字对应的矩阵串起来后输出;
采用指向二维数组的指针解此题较为合适;
输入描述:
  输入为两个数字,中间用分号隔开,表示需要模拟的时钟;时间十位为零时显示为0;
输出描述描述:
  输出为一个电子时钟的模拟显示结果;
样式输入:
1:22
样式输出:


| | | | |
|
| ||
|_
[
**源代码 **

#include<stdio.h>
int main()
{
   
    int a,b,x,y,z,m,i;
    char s0[3][4]={
   " _ ","| |","|_|"};
    char s1[3][4]={
   "  "," |"," |"};
    char s2[3][4]={
   " _ "," _|","|_ "};
    char s3[3][4]={
   " _ "," _|",
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平淡风云

您的打赏是我继续创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值