有问题就有答案
Q1:c语言程序及流程图,求10到1000之间有多少个其数字之和为7的整数?急用,请大哥大姐们帮帮忙
# include main(){ int Sum(int);//定义计算位数之和的函数//int i,n=0;for(I=10;i=1000I ){if(Sum(i)==7) //调用函数计算每个数字的和//{printf("m ",I);//如果所有数字之和等于7,输出数字//n;//统计合格位数//if(n%5==0) //输出位数时,输出///printf("\n按每行5位数(" \ n ");}}printf("它有从10到1000的%d个数字,sum=7\n ",n);}int Sum(int dat) //一个计算位数之和的函数//{ int Sum=0;//赋值初始值0//while(dat0) //直到dat不大于0///{ sum=dat;//取一个位数加到总和//dat/=10;//除一次,去掉最后一位数字,重新计算新数字。//}返回总和;//返回所有数字的总和//}
Q2:跪求一个简单C++程序的流程图(框架表示)
功能:输入一组整数数据,找出最大值和最小值及其位置。流程图:开始|定义变量和数组|输入数据|初始化最大值、最小值及其位置(程序应该初始化m=0;n=0;但不行,改好)|找出最大值和位置|找出最小值和位置|输出结果|结束。
Q3:用C语言求解:采用递归法求10!,并绘制程序流程图?
递归算法,我们主要需要知道递归出口在哪里。当问题出现循环嵌套时,一般用于我们觉得永远不会玩的那种问题。不用用递归去想阶乘,更容易找到递归出口。当出口股市变量降为1时,先输入一个数字n,定义一个存储结果s=1;判断数字n是否为1,如果不是,进行循环运算,S=n *(n-1);n-;
Q4:求解一道C++程序题目
#include#include #includeusing namespace std;//职工信息class worker{public: // worker(); void get_value(){cin>>num>>name;} void display(){cout<<num<<" "<<name<>age>>sex>>wage; } void display1() {display(); cout<<age<<" "<<sex<<" "<<wage<<endl; } int get3(){return age;} char get4(){return sex;} int get5(){return wage;} //friend ostream& operator<<(ostream&,poster&)private: int age; char sex; float wage;}a[50]; //重载函数ostream&operator;<<(ostream&output;,poster&p;){output<<p.get1()<<" "<<p.get2()<<" "<<p.get3()<<" "<<p.get4()<<" "<<p.get5()<<endl;return output;} int m,n;//菜单界面void show5(){cout<<"***************************************"<<endl<<endl; cout<<" 职工信息管理系统 "<<endl; cout<<" 南京信息职业技术学院欢迎你 "<<endl<<endl; cout<<"***************************************"<<endl;} void show() {cout<<"1 设置职工最大数"<<"\n"<<"2 从文件读记录"<<endl<<"3 增加职工记录" <<endl<<"4 删除职工记录"<<endl<<"5 设置信息表"<<endl<<"6 显示原始记录" <<endl<<"7 显示简表记录"<<endl<<"8 显示工资平均值 "<<endl<<"9 保存记录"<<endl<< "10 结束运行 "<<endl; cout<<"请输入1-10中的一个数:";} //1 设置最大数 int t; void set() {cout<<"请设置你想设置的最大数:"<>t; cout<<"你设置的最大数为"<<t<<endl; } //2 从文件读入 char*filename;void display_file(char*filename){//ifstream infile1("qq.dat");/*ifstream infile(filename,ios::in);cout<<"输入文件名:"<>filename;//if(infile==NULL)cout<<"sorry!"<<endl;if (!infile){cerr<<"open error!"<<endl;exit(1);}cout<<"成功进入!"<<endl;char ch;while(infile.get(ch))cout.put(ch);cout<<endl;infile.close();*/ifstream infile(filename,ios::in); if(!infile){cerr<<"open error!"<<endl; exit(1);} char ch; while(infile.get(ch)) cout.put(ch);cout<<endl;infile.close(); //ofstream outfile;//string filename;//cout<<"enter the name:"<>filename;//if(outfile1==outfile)//outfile.open(filename.c_str());//for(int i=0;i<3;i++)//cout<<a[i];//cout<<"it is ok!"; }//3 增加职工信息void add(){ofstream outfile("xx",ios::app); if(!outfile){cerr<<"open xx.dat error!"<<endl;exit(1);} cout<<"请输入所需增加的人的个数:"<>m;cout<<"请输入职工的序号,姓名,年龄,性别,工资等信息"<<endl;for(int i=0;i<m;i++){a[i].get_value1();//a[i].display1();outfile<<a[i]<<" ";}cout<<endl;outfile.close();}//4 删除记录/*void remove(){ofstream outfile("xx.dat")outfile{cout<<"请输入想要删除人的序号:"<>num;fstream iofile("xx",ios::out);if(! iofile){cerr<<"open error!"<<endl;exit(1);}//iofile.seekg(0,ios::beg);for(int i=0;i<t;i++){if(num==a[i].get1())a[i].get1()==0;a[i].display1();}iofile.close();}*///5 生成信息简表void protect(){ifstream infile("xx1",ios::in);if(!infile){cerr<<"open xx1.dat error!"<<endl;exit(1);}int i;cout<<a[i].get1()<<" "<<a[i].get2()<<" ";infile.close();}//6 显示原始记录void show2(){ifstream infile("xx",ios::in);if(!infile){cerr<<"open xx.dat error!"<<endl;exit(1);}cout<<"enter!"<<endl; /* for(int i=0;i<6;i++) {a[i].display1(); cout<<endl;}*/char ch;while(infile.get(ch))cout.put(ch); infile.close();}//7 显示信息简表void show1(){ifstream infile("xx",ios::in);if(!infile){cerr<<"open xx.dat error!"<<endl;exit(1);}for(int i=0;i<m;i++){a[i].display();cout<<endl;} infile.close();} //8 求平均值void average(){cout<<"请输入所求平均工资的人数:"<>e;int s=0;int ar=0; for(int i=0;i<e;i++) {s+=a[i].get5();} ar=s/e; cout<<"平均工资为"<<ar<<endl; } //9 保存文件void save(){/*for(int i=0;i<50;i++)a[i].get_value();*/ofstream outfile("xx",ios::out);if(! outfile){cerr<<"open error!"<<endl;exit(1);}/*for(int i=0;i<50;i++){a[i].get_value1();*/int i=0;i=i+m;outfile<<(a[i]);i=i-n;outfile<<(a[i]);cout<<"保存成功!"<<endl;outfile.close();}//10 结束运行void complete(){cout<>b;if(b=="yes")exit(1);}//主函数int main(){ show5();show();int x;cin>>x;for(int i=1;;i++){switch(x){case 1:set();break; case 2:display_file("xx");break; case 3:add();break; //case 4: remove();break; case 5:protect();break; case 6:show2();break; case 7:show1();break; case 8:average();break; case 9:save();break; case 10: complete();break;default:{cout<<"上一次输入错误,请再次输入1-10中的一个数:"<>x;}break;}show(); cin>>x;}return 0;}
Q5:求解一道C++程序的题目
#include #include /******************************************************************** 编写一个程序实现如下功能:输入一元二次方程的系数a,b,c,求方程的根。要求:运行该程序时,输入a,b,c的值,分别使b2-4ac的值大于、等于和小于零,观察运行时的报错信息 ********************************************************************/int main(){ int va, vb, vc; double res1,res2; cout <> va; cout <> vb; cout <> vc; int sum = (vb * vb) - 4*va*vc; if (sum < 0) { cout << "b2-4ac < 0, 所以无实数根!\n"; } else { res1 = (-vb+sqrt(sum))/(2*va); res2 = (-vb-sqrt(sum))/(2*va); cout << "X1=" << res1 << endl; cout << "X2=" << res2 << endl; } return 0;}
Q6:求C++流程图 程序以给出~
恩奥(n,a,b,c)intn;chara,b,c;{if(n==1)printf("%c - %c\n ",a,c);else{hanoi(n-1,a,c,b);printf("%c - %c\n ",a,c);河内(n-1,b,a,c);}}我来给大家详细解释一下这个程序中的代码。我也是刚学的,希望对你有用。可能有一些缺点,但我也希望能理解。先说一下这个问题的整体思路:1。如果只有一个磁盘,直接把这个磁盘从A移到C. 2。如果有两个磁盘,首先将第一个磁盘移动到B,然后将最低的磁盘移动到C,然后将磁盘从B移动到C.3,所以我们可以得出一个结论,如果有N个磁盘,我们可以先把上面的N-1个磁盘移动到b到c,然后把第N个磁盘移动到c,再把b上的N个磁盘移动到c到a. if(n==1)printf("%c - %c\n ",a,c);这句话的意思是当只有一个板块的时候,就是把第一个板块直接移动到第三个板块。else{hanoi(n-1,a,c,b);如果有多个板,需要先将N-1个板从c移动到b。printf("%c - %c\n ",a,c);将剩余的第n个磁盘从a移动到c。河内(n-1,b,a,c);}并将b上剩余的N-1个磁盘通过a移动到c.这是一个递归算法。现在,N=3。让我们看看这个程序是如何工作的。else{hanoi(n-1,a,c,b);printf("%c - %c\n ",a,c);河内(n-1,b,a,c);}N=3,即启动程序将执行hanoi(2,a,c,b);这句话。看,2仍然大于1,所以程序将继续运行。注意这里,是河内(2,a,c,b);c和b交换了位置。河内(2,a,c,b);让我们把数字代入。根据N=2,c和b互换。以及下面的代码,我们得到` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `河内(n,a,b,c)。chara,b,c;{if(n==1)printf("%c - %c\n ",a,c);else{hanoi(n-1,a,c,b);printf("%c - %c\n ",a,c);河内(n-1,b,a,c);}}。chara,c,b;{if(n==1)printf("%c - %c\n ",a,b);else{hanoi(1,a,b,c);printf("%c - %c\n ",a,b);河内(1,c,a,b);} }/这不是正确的代码,只是为了得到答案而写的一些数据。/这样,我们可以看到程序将首先执行else{hanoi(1,a,b,c);所以一开始会先输出AC(中间的符号省略,下面也一样),然后输出printf ("%c-%c \ n ",a,b);然后,执行河内(1,c,a,b);}这时,是CB。也就是说,河内(2,a,c,b)的输出是ACABCB,你的问题已经解决了。然后回到第一层:现在,N=3。让我们看看这个程序是如何工作的。else{hanoi(n-1,a,c,b);printf("%c - %c\n ",a,c);河内(n-1,b,a,c);}此时,我们将输入数字。现在,N=3。让我们看看这个程序是如何工作的。else{hanoi(2,a,c,b);printf("%c -