您的位置:

二道c语言题目,二级c语言考试题及答案

本文目录一览:

2道c语言编程问题

第一题:

#include iostream

#include stdlib.h

#includestdio.h

#includestring.h

using namespace std;

int main()

{

    int num;

    printf("Enter the number of stock value:");

    while(scanf("%d",num)!= EOF)

    {

        int res = 0;

        int max = 0;

        if(num == -1)

        {

            return 0;

        }

        if(num == 0)

        {

            printf("Enter the number of stock value:");

            continue;

        }

        int a[num-1];

        for(int i = 0;inum-1;i++)

        {

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

        }

        fflush(stdin);//刷新缓冲区

        for(int i = 0;inum;i++)

        {

            if(maxa[i])

                max = a[i];

            if(i0)

            {

                if((a[i] - max)res)

                res = a[i] - max;

            }

        }

        printf("%d",res);

        printf("\nEnter the number of stock value:");

    }

    return 0;

}

第二题

#include iostream

#include stdlib.h

#includestdio.h

#includestring.h

using namespace std;

void printSelection(int money,int bread,int ice,int coke,int coffee)

{

if(money=0)

{

if(money =700)

{

ice = money/700;

money = money%700;

printSelection(money, bread, ice, coke, coffee);

while(ice--)

{

if(ice=0)

{

money = money + 700 - 100;

coffee++;

printSelection(money, bread, ice, coke, coffee);

}

}

}

else if(money=500)

{

bread = money/500;

money = money%500;

printSelection(money, bread, ice, coke, coffee);

while(bread--)

{

if(bread=0)

{

money = money + 500 - 100;

coffee++;

printSelection(money, bread, ice, coke, coffee);

}

}

}

else if(money=400)

{

coke = money/400;

money = money%400;

printSelection(money, bread, ice, coke, coffee);

while(coke--)

{

if(coke=0)

{

coffee = coffee+4;

printSelection(money, bread, ice, coke, coffee);

}

}

}

else {

coffee = coffee + money/100;

printf("Bread(%d),Icecream(%d),Coke(%d),Coffee(%d).\n",bread+1,ice+1,coke+1,coffee+1);

}

}

}

int main()

{

int money;

printf("Enter your money (=2,000):");

while(scanf("%d",money)!= EOF)

{

if(money == -1)

{

return 0;

}

if(money  2000)

{

printf("You must enter more than 2,000.\n");

}

else if((money%100) != 0)

{

printf("The monetary unit should be 100 won.\n");

}

else

{

money = money - (500*1 + 700*1 + 400*1 + 100*1);

printSelection( money, 0, 0, 0, 0);

}

printf("Enter your money (=2000):");

}

return 0;

}

2道c语言问题求教 !

第一题

第一个循环的时候,把x[i].a(i取0 1 2)分别赋值为1,2,3,x[i].b分别赋值为5,6,7

而x[i].next总是指向下一个数值,最后一个则指向第一个,是一个循环

第二个循环里输出一个x[0].a,然后输出下一个数x[1].b,然后是下一个x[2].a,然后是x[0].b.....以此循环

为了形象点,我们把x[i].a和x[i].b写成两行,

3 4 5 3 4 5

5 6 7 5 6 7

输出就是

按这张图的红线依次输出,循环3次,每次输出两个,就是输出6个数,结果是365547

第二题

是求一个数能不能表示成两个素数相加,pr函数的功能是判断一个数是否是素数,每次循环判断k和m-k是不是都是素数,都是素数说明该数可以表示成两个素数相加

输入30,输出就是30=7+23

两道c语言题

第一道:65535,0

我们首先要求-1的补码:一个负数的补码, 是它对应的正数的补码按位取反并在末位加1.

求-1的补码, 先看正1的补码。

正1的二进制数是0000000000000001, 它的补码是

1111111111111110, 然后末位加1, 就变成了1111111111111111,这正是65535对应的二进制数(PS:unsigned int 型的取值范围是0~65535),因此a输出是65535.

对于b我们知道65536超出了范围,因此装不下的那部分会被截断。

————————————————————————————————————

详细解释:

第二道:123456.123

123.123

首先我们要知道:%5.3f是控制输出格式的

f表示输出浮点数,

5表示最小输出字符宽度为5位数,

3表示浮点数输出小数点后为3位数

因此答案不难理解了。

有什么不懂得,欢迎追问啊~~~~

2道c语言题目

同学你这是100分的题啊,难怪没人回答。你等等吧,我有空帮你写

#include "stdio.h"

#include "stdafx.h"

#includeiostream

#includeiomanip

using namespace std;

float average();

int findfail(int i);

int findgood(int i);

struct student

{

int no;

int score[5];

float vag;

};

student stu[3];//定义学生人数(本列为3人)

void main()

{

int i,j;

cout"请输入学生学号及其五门成绩!"endl;

for(i=0;i3;i++)

{

cinstu[i].no;

stu[i].vag=0;

for(j=0;j5;j++)

{

cinstu[i].score[j];

stu[i].vag+=stu[i].score[j];

}

stu[i].vag=stu[i].vag/5;

}

cout"******第一门成绩的平均分******"endl;

coutsetprecision(3)average()endlendlendl;

cout"有2门以上(含2门)课程不及格的学生"endl;

cout.width(5);

cout" 学号 ""********成绩列********"" 平均成绩"endl;

for(i=0;i3;i++)

if(findfail(i)!=-1)

{

cout.width(5);

coutstu[i].no;

for(j=0;j5;j++)

{

cout.width(5);

coutstu[i].score[j];

}

cout.width(10);

coutstu[i].vagendl;

}

coutendlendl;

cout"平均成绩在90分以上或全部课程成绩在85分以上的学生"endl;

cout" 学号 "endl;

for(i=0;i3;i++)

if(findgood(i)!=-1)

{

cout.width(5);

coutstu[i].noendl;

}

coutendl;

system("pause");

}

float average()

{

int i;

float vag1=0;

for(i=0;i3;i++)

vag1+=stu[i].score[0];

vag1=vag1/3;

return vag1;

}

int findfail(int i)

{

int j,cl=0;

for(j=0;j5;j++)

if(stu[i].score[j]60)

cl++;

if(cl=2)

return i;

else

return -1;

}

int findgood(int i)

{

int j,f1=0,f2=1;

if(stu[i].vag=90)

f1=1;

for(j=0;j5;j++)

if(stu[i].score[j]85)

f2=0;

if(f1||f2)

return i;

else

return -1;

}

#include "stdio.h"

#include "stdafx.h"

#includeiostream

#includeiomanip

using namespace std;

void multiply();

int a[5][5],b[5][5],c[5][5],m,n;

void main()

{

int i,j;

cout"input m n:";

coutendl;

cinmn;

cout"input A(mxn)"endl;

for(i=0;im;i++)

for(j=0;jn;j++)

cina[i][j];

cout"input B(nxm)"endl;

for(i=0;in;i++)

for(j=0;jm;j++)

cinb[i][j];

multiply();

cout"C(mxm) is:"endl;

for(i=0;im;i++)

{

for(j=0;jm;j++)

coutsetw(5)c[i][j];

coutendl;

}

system("pause");

}

void multiply()

{

int i,j,k,sum;

for(k=0;km;k++)

for(i=0;im;i++)

{

sum=0;

for(j=0;jn;j++)

sum+=a[k][j]*b[j][i];

c[k][i]=sum;

}

}

这是我写好的,不过我是用C++写的(我电脑里没有C的环境),你如果有C++的话,就可以直接运行了,如果是C的话,就把那些输入输出改一下就行了。比如C++里输入用的是"cin"你就把那一行改成C的scanf,C++的输出是用"cout",你也是把相应的行改成C的printf就行了

两道简单的C语言题目

一、首先分析这段函数实现的功能

main()

{int op1,op2,res;

char opertor;

scanf ("%d",op1); //op1为输入的整数

opertor=getchar(); //opertor为输入的字符

while(opertor!='=') //如果输入的字符不是‘=’则继续

{

scanf ("%d",op2); //op2 为输入的第二个整数

switch(opertor) //判断opertor为何种运算,并求出结果,如果opertor不符合4则运算op1=0,重新等待输入运算符,重复以上过程,直到输入‘=’,求出最终结果

{

case '+':res=op1+op2;break;

case '-':res=op1-op2;break;

case '*':res=op1*op2;break;

case '/':res=op1/op2;break;

default:res=0;

}

op1=res;

opertor=getchar();

}

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

}

可以看出,这个程序实现的运算是从左到右,而不去分运算优先级,加减和乘除都是平等,从左向右计算即可。

二、分析程序功能

#include stdio.h

#define MAXLEN 80

main()

{int k=0,number=0;

char str[MAXLEN];

while((str[k]=getchar())!='#') //读取字符,直到‘#’结束循环

{

k++;

str[k]='\0'; //将读取的字符加入到字符数组中,尾部加上‘\0’

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

{

if(str[k]='0' str[k]='9'||str[k]=='A'||str[k]=='B') //12进制数转换为10进制,注意A B大写,小写的不合法

if(str[k]='0' str[k]='9')

number=number*12+str[k]-'0';

else if(str[k]=='A'||str[k]=='B')

number=number*12+str[k]-'A'+10;

else ;//第15行 //字符串中含有不合法的字符即,不是0——9,A,B,忽略,继续执行

else break; //第16行 // 字符串中含有不合法的字符,即,不是0——9,A,B,则跳出循环

}

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

}

你的程序少打了一些‘{}’,我填上去了。你如果会12进制转换为10进制的方法,那么上面的转换过程就很简单了。

程序理解了,题目就很容易了

国二c语言答题,国二c语言试题

2023-01-04
二级c语言笔试真题及答案下载,二级c语言笔试真题及答案下载

2023-01-05
二道c语言题目,二级c语言考试题及答案

2023-01-07
二级c语言考前,二级c语言考前培训班

2023-01-07
c语言二级试题型号规格,c语言二级考试题目类型

2023-01-06
二级c语言操作题技巧,二级c语言程序题技巧

2022-11-23
备考c语言二级,备考c语言二级需要多久

2022-11-29
计算机二级c语言题库有原题吗,计算机二级考试c语言题库

2023-01-07
2020计算机二级真题c语言,2020计算机二级c语言考试真

2022-12-02
二级考试java语言复习试卷(计算机二级java语言题库及答

2022-11-11
c语言考试题及答案下载,c语言 题库

2022-11-30
二级c语言分类模拟题524,c语言二级考试模拟题库

2022-11-24
二级c语言分类模拟题158,二级c语言分类模拟题158道

本文目录一览: 1、2007年计算机等级考试二级C语言上机试题(1-8套) 有 答案 吗?急用,谢谢! 2、计算机二级考试C语言模拟试题二 3、c语言计算机二级考试选择题如图? 2007年计算机等级考

2023-12-08
备考计算机二级c语言,如何备考计算机二级c语言

2023-01-06
软考c语言真题,软考c语言真题及答案

2022-11-23
计算机c语言二级2020题库,计算机二级c语言考试真题202

2022-12-01
计算机二级c语言上机模拟题,计算机二级c语言上机题库及答案

2023-01-07
还有十天就考计算机二级c语言了,计算机二级C语言考试难吗

2022-11-29
计算机二级试题c语言pdf,计算机二级考试c语言试题

2023-01-03
c语言二级考试,c语言二级考试题库app

2022-12-01