C++问题,求教!!

作者&投稿:恭庭 (若有异议请与网页底部的电邮联系)
c++问题求教!!!~

#includeusing namespace std;int main(){ double n; enum wendu {C=1,F=2}; wendu a; cin>>n; char c; cin>>c; switch (c){ case 'C': cout<<(9.0/5)*n+32<<"F"; break; case 'F': cout<<(5.0/9)*(n-32)<<"C"; break; default: cout<<"input error"; } return 0;}

首先
if(a<b)
if(b<0)c=0;
else c+=1;
看做
if(a<b)
{if(b<0)c=0;
else c+=1;
}
int a=2,b=-1,c=2;

a<b 为假
那么直接输出 c
那就是2 了


主要 else 与他前面最接近的if 配对,所以就是上面的结果

做了我两天啊。。。如果有分的话麻烦多加点分吧,最近比较需要分数,而且这几个题真的很辛苦- -如果没有就算了额。

最后一题
#include<iostream>

using namespace std;

void decToHex(int n){
if(n == 0)
return;
decToHex(n/16);
int m = n % 16;
cout<<char(m + (m< 10 ? '0' : 'A' - 10))<<endl;}

int main()
{
cout<<"输入小于128的十进制整数:";
char c;
int n;
cin>>n;
c=n+'\0';
cout<<c;
cout<<"\n输入一个字符:";
cin>>c;
n=c-'\0';
cout<<n;
cout<<"\n输入十六进制整数: ";
char hex[9]; //这里又纠结了,不知道你的十六进制要求多少位,暂且8位吧(因为char数组有'\0',所以是9,你可以改任意改。
cin>>hex;
cout<<strtol(hex, (char**)NULL, 16);
cout<<"\n输入十进制整数: ";
int dec;
cin>>dec;
decToHex(dec);
return 0;

}

这是第一题,做了我一个晚上,太容易出错了,而且细节比较难做啊。

#include<iostream>
#include <iomanip>

using namespace std;

int main()
{
int ID[30];
float grade[30];
float sum=0;
float notPass=0;
int i=0;
float gradeLev[4]={0};
int lev;
cout<<"请输入学号和成绩:"<<endl;
while(i<30)
{
cin>>ID[i]>>grade[i];
if(ID[i]<0 || grade[i]<0)
break;
else
{
sum+=grade[i];
if(grade[i]<60 )
{
cout<<ID[i]<<grade[i]<<endl;

notPass++;
}
else
{
lev=grade[i]/10;
if (lev!=10)
gradeLev[lev-6]++;
else gradeLev[3]++;
}

i++;
}

}

cout<<setiosflags(ios::fixed);

cout<<"不及格人数:"<<notPass<<" 名单:";
int j=0,count=0;
while (count<notPass)
{
if(grade[j]<60)
{
cout<<ID[j]<<" ";
count++;
}
j++;
}

float avg=sum/i;
cout<<"平均分: "<<setprecision(1)<<avg<<endl;
cout<<"平均分及平均分之上的学生: ";
j=0;
while (j<30 && ID[j]>=0)
{
if(grade[j]>=avg) cout<<ID[j]<<" ";
j++;
}

cout<<"\n不及格: "<<setprecision(1)<<notPass/i/100
<<" 60-69分: "<<setprecision(1)<<gradeLev[0]/i*100
<<"% 70-79分: "<<setprecision(1)<<gradeLev[1]/i*100
<<"% 80-89分: "<<setprecision(1)<<gradeLev[2]/i*100
<<"% 90-100分: "<<setprecision(1)<<gradeLev[3]/i*100<<"%"
<<endl;

return 0;

}

把你错的程序发我吧,我给你查下错,这样也方便你学习。第二题我做好了,你看一下这函数的用法。不过头文件是cstdlib和ctime,因为VC的编译器是用这两个头文件的。
#include <iostream>
#include <cstdlib>
#include <ctime>
using std::cin;
using std::cout;
using std::endl;
int main()
{
int key,number=-1;
int i=0;
char whether;
whether='y';
while (whether=='y'){
srand(time(0));
key=1+rand()%100; //因为不确定你要猜数的范围,如果让计算机自动生成范围非常大,会让程序调试变得很困难,所以我设为了1到100.你可以通过修改%后的数来更改范围。
cout<<"计算机已经生成了一个1-100之间的数."<<"\n请输入你的第一次猜测"<<endl;
cin>>number;
while (number!=key && i<19){
if (number>key)
cout<<"太大"<<endl;
else
cout<<"太小"<<endl;
cin>>number;
i++;
}
if(number=key)
{
cout<<"对了!"<<endl<<"猜"<<i+1<<"次成功"<<"\n继续否(y or n)?"<<endl;
cin>>whether;}
else
{
if (number>key)
cout<<"太大,已猜满20次重新猜数"<<endl;
else
cout<<"太小,已猜满20次重新猜数"<<endl;
cin>>number;
}
}
return 0;
}

我去 这么多问题才30分 。。。

求教C语言问题
答:伪代码:int a[4][5] = {27,13,31,5,7,21...16,8,33,11,4}; //没写全,一行一行写全就好int b[20] ,i,j,count = 0;//将二维数组按行的顺序传给一维数组for(i=0; i<4; i++)for(j=0; j<5; j++){b[count] = a[i][j];count++;}//将一维数组排序sort(b); ...

我是新手,求教一些C语言问题,有解析多追加分
答:题目太多。只做几个。第1题:要明白,条件判断 大于0 为真,只有等于0为假。你的大小写有问题,C语言区分大写小写。K1,k1 不是同一变量。incldue <stdio.h> void main(){ int k1,k2,k3,k4,x;k1=1;k2=2;k3=3;x=15;if (!k1)x--;else if(k2) x=4;else x=3;printf("%d\n",...

【悬赏】几个C语言初学的问题,求解,求解!谢谢
答:1、必须定义file *fp 或file fp。2、dat文件可以存放文本文件。3、extern之后就变成全局。可以一开始就extern,没有出现过也没有关系。这个extern是最大的全局。不局限在两个文件之间。所有的文件都可以使用。一般的所谓全局变量作用域只是在自己的文件中。5、&+普通变量表示地址,数组名就是地址,如果...

求教C语言的问题
答:int (*a)[]数组指针,表示a是一个指向一个int型数组的指针 ,指针所指的位置是数组的第一个元数。int *a[]是指针数组,表示定义的是一个存放指针的数组。2%10 的意思是2除以10所得的余数,在C语言的取余运算中,被除数小于除数时就取被除数为值。2/10的意思是2整除10,何为整除?在C语言的...

求教C语言问题!!!
答:include <stdio.h>int main(){ int i; double a=0,b=0,c=0.01; for(i=1;i<=30;i++) { a+=100000; b+=c; c*=2; } printf("陌生人给百万富翁%.2lf元\n", a); printf("百万富翁给陌生人%.2lf元\n", b);} ...

计算机c语言,有几个问题,望解答,准备计算机二级的菜鸟在此谢过...
答:【1】我也觉得是长双精度,不过长双精度对于初学者来说很少用到,可能是因为这个原因,所以答案是双精度吧。【2】C语言的注释可以放在程序的任何地方,只要写在注释符/**/中就可以。【3】应该跟你理解的也要,C的类型int也是标识符,命名的时候不要和那些系统默认的符号重复就可以了。【4】char c1...

C语言阶梯问题,求教各位大佬啊,刚学C语言,希望大佬能用循环语句死算出来...
答:这个不是C语言的内容,是概率统计,C语言只是实现计算的语言工具。要解决这个问题,需要用到概率统计,建立概率统计的算法结构:首先要选走两步的台阶,剩下的就是一步,两台阶44 /2 = 22,最多22步,分别是0个两步,一个两级,二个,三个...22个两级,所以是C(22, 0) + C(22,1)+......

求教一个C语言问题
答:让我们来看看在处理的主要功能:,PA =环节/ / PA PA值* 2.5 PB = &B; / / PB点到b的地址指向的地址, * PB值9.0 调用子(BA,PA,PA)BA = 9.0-2.5 = 6.5,每年点的地址,PB b点地址 无效子(浮浮* Y,X,浮法* Z):= 6.5 浮法* Y:y点到由pa指向的地址,也就...

c语言比大小问题,求教
答:include "stdio.h"int main() { float x, y; printf("两个数比较大小,请自己输入x和y的值,输入值后按enter键确认\nx="); scanf("%f", &x); printf("y="); scanf("%f", &y); if(x > y) { printf("x大于y\n用完请关闭\n"); } else if(x == ...

c语言问题,急急急
答:1 main(){ int a=5,b=-1,c;c=adds(a,b);printf(“%d”,c);c=adds(a,b);printf(“%d\n”,c);} int adds(int x,int y){ static int m=0,n=3;n*=++m;m=n%x+y++;return(m); } //首先static是静态变量不释放储存单元,值在下次使用时会继续保留,会被继续使用。//...