C语言编程题

任务说明:
假设有40个学生被邀请来给自助餐厅的食品和服务质量打分,分数划分为1~10这10个等级(1表示最低分,10表示最高分),试编程打印统计调查结果。其中Grade代表等级,Count代表人数,Histogram表示以图形方式显示该等级的人数。程序执行结果如下:
Grade Count Histogram
1 2 **
2 3 ***
3 1 *
4 4 ****
5 2 **
6 2 **
7 2 **
8 0
9 3 ***
10 1 *

[友情提示]:

定义一个含有40个元素的一维整型数组score,用来存放每个学生打的分数。再定义一个含有11个元素的一维整型数组count,该数组的每个元素作为计数器使用,如数组元素count[1]用来记录等级(分数)为1的人数,…,count[10]用来记录等级(分数)为10的人数。实际打分人数由键盘读入。
输入要求: "%d",详见输入样例
输出要求: "Grade\tCount\tHistogram\n",详见输出样例
输入输出样例:
Input sample1:
20
1 9 1 2 4 2 2 3 4 5 5 6 6 4 7 7 9 4 9 10
Output sample1:
Grade Count Histogram
1 2 **
2 3 ***
3 1 *
4 4 ****
5 2 **
6 2 **
7 2 **
8 0
9 3 ***
10 1 *

第1个回答  2013-01-05
1.
#include<stdio.h>
int calc(int profit)
{
float sal=500;
if(profit<=2000&&profit>1000) sal+=(0.1*profit);
else if(profit>2000&&profit<=5000) sal+=(0.2*profit);
else if(profit>5000&&profit<=10000) sal+=(N*profit); //估计你这里少了5000-10000的提成率,补上后只需要把N换成提成率就ok了

else if(profit>10000) sal+=(0.25*profit);
return sal;
}
int main()
{
int p;
printf("enter profit:\n");
scanf("%d",&p);

printf("result:%d\n",calc(p));
return 0;
}
2.
#include<stdio.h>
int main()
{
int i;
for(i=200;i<=300;++i)
if(!i%7) printf("%d\n",i);
return 0;
}
3.这个题我估计是2n-1,奇数相加,楼主应该是多打了括号
#include<stdio.h>
int calc(int n)
{
int i,sum=0;
for(i=1;i<=n;++i)
sum+=(2*i-1);
return sum;
}
int main()
{
int n;
printf("enter n:\n");
scanf("%d",&n);

printf("result:%d\n",calc(n));
return 0;
}

4.
这道题楼主应该是想从大到小排序输出吧
我用的是冒泡排序
#include<stdio.h>
int main()
{
int a[10],i,j;
int t;
printf("enter number(10):\n");
for(i=0;i<10;++i)
scanf("%d",a+i);
for(j=9;j>0;--j) //冒泡排序
for(i=0;i<j;++i)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=9;i>=0;--i)
printf("%d\n",a[i]);
return 0;
}

程序已测试,百度不让贴图,我就不粘了,有问题请追问
各位大神,不要copy,求你们了……
第2个回答  2015-11-26
#include<stdio.h>
int main(void)
{
    int K,a[20000];
    int i,j,tmp,len;
    if(scanf("%d",&K)<1)
    {
        printf("scanf error\n");
        return -1;
    }
    if(K>20000)
    {
        printf("K<=20000\n");
        return -1;
    }
    for(i=0;i<K;i++)
        if(scanf("%d",a+i)<1)
        {
            printf("scanf error\n");
            return -1;
        }
        else if(a[i]>231||a[i]<0)
        {
            printf("0<=n<=231\n");
            return -1;
        }
    for(i=0;i<K;i++)
    {
        tmp=0;
        len=0;
        for(j=1;j<=128;j*=2)
            if(a[i]&j)
            {
                tmp++;
            }
            else
            {
                if(len<tmp)
                {
                    len=tmp;
                }
                tmp=0;
            }
        if(len<tmp)
            len=tmp;
        printf("len=%d\n",len);
    }
    return 0;
}

第3个回答  2019-11-18

#include<stdio.h>

int main()

{ int n,i,j,t,a[100];

  scanf("%d",&n);

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

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

  for(i=0,j=n-1; i<j; i++,j--)

  { t=a[i];

    a[i]=a[j];

    a[j]=t;

  }

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

    printf("%d ",a[i]);

  return 0;

}

第4个回答  2011-04-05
几年前学的C,现在我从事的是java,C的一些语法我忘了,我简要写哈,其他的你补上,大概思路没错哈!
方法一:
int m;
scanf("%d",&m);
int i,n=0;
for(i=2;i<=m-1;i++)
if(m%i==0){
printf("%d 是素数",m);
int n=1;
break;
}
if(n==0)
printf("%d 不是素数",m);
方法二:
int m;
scanf("%d",&m);
int i,n=0;
for(i=2;i<=m-1;i++)
if(m%i==0){
printf("%d 是素数",m);
int n=1;
goto;
}
if(n==0)
printf("%d 不是素数",m);
abc:
第5个回答  2019-09-16
#include<stdio.h>
#include<stdlib.h>

main(){
int area,w,flag=1;
float price,weight;
scanf("%d,%f",&area,&weight);
w=(int)weight+1;
switch(area){
case 0: price=10+3*(w-1);break;
case 1: price=10+4*(w-1);break;
case 2: price=15+5*(w-1);break;
case 3: price=15+6.5*(w-1);break;
case 4: price=15+10*(w-1);break;
default:{
printf("Error in Area\n");
                printf("Price: 0.00\n");
flag=0;
}
}
if(flag)
printf("Price: %5.2f\n",price);
system("pause");
}

C语言程序题目:由键盘输入三个数a,b,c,按从小到大的顺序输出这三个数...
printf(从小到大的顺序是:%d%d%d\\n,a,b,c);return0;} \/iknow-pic.cdn.bcebos.com\/3c6d55fbb2fb4316d355249d2ea4462308f7d38b"target="_blank"title="点击查看大图"class="ikqb_img_alink">\/iknow-pic.cdn.bcebos.com\/3c6d55fbb2fb4316d355249d2ea4462308f7d38b?x-bce-process=image%2...

大学福音经典编程题适用于专升本
24.给数组删除重复的元素 25.C语言编程题求1! + 2! + 3! + 4!...+N 26.C语言编程题求斐波那契数(循环法与递归法 27.C语言编程输入n,k求n的k次幂(递归与非递归) 28.(递归)输入一个数,把他的每一位相加在输出出来; 29,实现函数把字符数组的元素逆序 如“abc“,逆序成“cba“ 30.递归拆分整数 ...

请编程c语言:求出555555的约数中最大的三位数是多少?
通过C语言编程解决求解555555的约数中最大的三位数问题,我们首先需要理解题目的实质。题目要求我们找出555555这个数的所有约数中,最大的三位数。为了实现这个目标,我们可以编写一个程序,从1000开始循环减小,直到100为止,逐个检查当前的循环变量i是否能整除555555。如果能整除,则输出该数并结束循环。下...

C语言编程题目
下面是一些C编程题目:1. 编写程序,从键盘输入两个整数,输出它们的和、差、积、商、余数。2. 编写程序,从键盘输入三角形的三条边长,判断它们是否可以构成三角形,并输出三角形的类型(等边、等腰、一般)。3. 编写程序,从键盘输入字符串,统计其中的大写字母、小写字母、数字和其他字符的个数,并...

c语言小题目。急急急
五、编程题 1. 编程实现:从键盘上接收10个整数,并对其进行排序(要求排成升序)main(){int a[10],i,j,k,t;for(i=0;i<10;i++) scanf("%d",&a[i]);for(i=0;i<9;i++){k=i;for(j=i+1;j<10;j++)if(a[j]<a[k]) k=j;if(k!=i){t=a[k];a[k]=a[i]; a...

急!急!简单c语言编程题,求编写代码
\/\/第一题#include<stdio.h>void fun(int n){ int i,j,k,t;for(k=0;k<n;k++)\/\/控制总行数{ for(i=0;i<n-k-1;i++)\/\/控制输出空格,因为空格不好看见,就用*代替 printf("%c",'*'); for(j=0;j<2*k+1;j++)\/\/控制输出字母 { printf("%c",65+j)...

请大家看看这道题用c语言怎么做?
因此,可以将这些规则用代码实现。以下是C语言的实现代码:include <stdio.h> int calculate_gold(int days) { int total_gold = 0; \/\/ 总金币数 int current_day = 1; \/\/ 当前天数 int reward = 1; \/\/ 当前奖励数额 while (current_day <= days) { \/\/ 计算当前阶段的天数 for (int ...

C语言编程问题求解答
9题:include <stdio.h>int main(){int N=1;scanf("%d",&N);if(N<=0){N=1;}int numSpaceFirst=N-1;for(int row=0; row<N; row++,numSpaceFirst--){for(int i=0; i<numSpaceFirst; i++){printf(" ");}for(int i=0; i<2*row-1; i++){printf("*");}printf("\\n...

急 两道基本C语言编程题
在C语言编程中,你可能会遇到两种基本问题:一个涉及数组排序,另一个涉及数组转置。首先,我们来看一下排序问题。这里的伪代码要求确保数组`a`中第一个元素大于第二个元素。如果`a[0]`小于`a[1]`,程序将交换它们的位置。如果`a[0]`大于`a[1]`,但`a[0]`小于`a[i]`,并且`a[i]`大于...

C语言问题编程问题?
int main(){ int i,j,n=-1;float scores[30],sum=0,temp;printf("请输入n的值(0~30):");while(n<0 || n>30) scanf("%d",&n);if(!n) return 0;for(i=0;i<n;scanf("%f",&scores[i]),sum+=scores[i],i++)printf("请输入学生%d分数:",i+1);printf("%d名学生的...

相似回答