填空:
第6题:
#include<stdio.h>
struct man{
char name[20];
int age;
}person[3]={
{"linming",18},
{"wanghua",19},
{"zhangping",20}
};
main()
{
struct man *p,*q;
int old =0;
p=person;
for(;p<person+3;p++){
q=p;
if(old<p ->age){
old=p->age;
}
printf("%s %d\n",q->name,q->age);
}
return 0;
}
结果:
结构体的定义:下面跳转网址查看定义
https://blog.csdn.net/mkerj/article/details/86132202?ops_request_misc=%7B%22request_id%22%3A%22158331213619724835852616%22%2C%22scm%22%3A%2220140713.130056874…%22%7D&request_id=158331213619724835852616&biz_id=0&utm_source=distribute.pc_search_result.none-task
解释:创建一个man结构体,person是man的变量,p->name的意思是以指针的方式访问变量(可以想成本来倒好了一杯水,你现在只是拿出来喝)
第1题
我出错了,看答案
第2题
#include<stdio.h>
main()
{
int a,b,c,i;
for(i=1;i<=10;i++){
scanf("%d%d%d",&a,&b,&c);
if(a%7==0){
printf("%d",a);
break;
}
}
if(i>10)printf("not exist\n");
return 0;
}
结果:
输入一次数字按回车,知道符合条件就会跳出程序,并打印响应的结果
第3题
#include<stdio.h>
main()
{
long a,b,gbs;
scanf("%ld,%ld",&a,&b);
gbs=a>b?a:b;
for(;;gbs++){
if(gbs%a==0 && gbs%b==0) break;
}
printf("gongbeishu is %ld",gbs);
return 0;
}
结果:
第4题
#include<stdio.h>
main()
{
int b[10],x,i,j=0,n=0;
scanf("%d",&x);
while(x>-1) {//当x>-1的时候都可以输入
b[++n]=x;
scanf("%d",&x);
}
for(i=1;i<=n;i++){//输入多少次就执行多少次
if(b[i]%2==0) b[++j]=b[i];//看解析图
}
for(i=1;i<=j;i++) {
printf("%d\n",b[i]);//打印
}
return 0;
}
解析:图
结果
第5题
我选择放弃
第7题
#include<stdio.h>
main()
{
int a[2][3]={{1,2,3},{4,5,6}},b[3][2];//定义一个数组a是2行3列,一个b数组3行2列
int i,j;
printf("array a:\n");
for(i=0;i<2;i++){//从0开始循环两次,计算机的0就是平时说的第一个
for(j=0;j<3;j++){//循环3次
printf("%5d",a[i][j]);//打印数组a
b[j][i]=a[i][j]*5; //从a数组换到b数组
}
printf("\n");
}
printf("array b:\n");
for(i=0;i<3;i++){
for(j=0;j<2;j++){
printf("%5d",b[i][j]);//打印b数组
}
printf("\n");
}
return 0;
}
结果
四,编程题
#include<stdio.h>
main()
{
float x,y;
printf("Please Input x:");
scanf("%f",&x);
if(x<1) y-4*x;//x小于1
else if(x<10) y=9*x-5;//x在1到10之间
else y=10*x +795;//x大于10
printf("x=%f,y=%f\n",x,y);
return 0;
}
结果
复习3
第1题:
https://blog.csdn.net/business122/article/details/82427479
修正:“字符串”:一个文字占两个字节
第2题:
方法:字符串长度从左边的 “ 号开始,到右边 ”号结束,空格算一个,\ 是转义字符和后面一个字符(字母等)加起来是一个。问字节就加一个空字符\0和第一题类似
第3题:
和第二题方法一样,+ = * /这也算一个字符
第4题:
%是取余数的意思,16除以5的余数
main()
{
int x=16,y=5;
printf("x % y=%d\n",x%y);
printf("x/y=%d",x/y);
return 0;
}
结果:
第5题:
main()
{
int x=16,y=5;
printf("x/y=%d\n",x/y);
printf("double(x)/y=%lf",double(x)/y);
return 0;
}
结果
第6题
先化数字为十进制,题目25已近是十进制。(化10进制的方法:如图)
十进制化其他进制:十进制除以该进制如图:
第7题:
https://jingyan.baidu.com/article/e9fb46e1918b157521f766f9.html
由上面链接可得,100为int,3.62为double。此外,3.6为float。
第8题:
a+=b等于a=a+b同理,a*=b等于a=a*b, ++a等于先执行++再执行等号计算,反之a++就是执行完等号再执行++:
第9题:
循环语句3种:while(条件){执行语句},do{执行语句}while(条件),for(赋值语句(可有可无:看情况);执行条件;i++(可有可无:看情况)){执行语句}
第10题:
后面一个空自己算一次,不懂就喷。
第11题:
一个整形也就是int类型的数据为4个字节。a数组是一个5行4列的二维数组,那么54=20,204=80;
第12题:
对着上面的图找
第13题:和12一样的方法
第14题:偶数除以2的余数是0。y%2=0:y除以2取余的意思。
第15题:一个char 占一个字节。64个空间就有64个字节。如果换成long,long占8个,就是64*8=512;
二,选择
.exe是可执行文件。
.cpp是C++的源程序(C的源程序后缀就是.c。在国内,C++一般读作“C加加”;国外的程序员们则读作“C Plus Plus”,即“.CPP”。
.obj:3D建模
https://baike.baidu.com/item/obj%E6%96%87%E4%BB%B6/3574019?fr=aladdin
第2题:完整的数组定义 :类型 名字[个数]={值}
第3题:参数之间用逗号隔开
第4题:从a的地址开始到整形(4字节),有4个a+4*4
第5题: || 与, 真||真=真 ,假||真=真,真||假=假,假||假=假
第6题:已算
第7题:
第8题:参考复习3选择第一题
第9题:
A:看黄色箭头,可以变成x,传回的值就是12
B:红色箭头,main函数里有两个,所以可以有多个
C:绿色箭头,参数就是整形的k
第10题:B:void 没有return;C:double 返回的是双精度;D:int 返回的是整型。
第11题:第9题的图,绿色箭头的int k可有可无;ABC都要
三,编程题
第一题:
#include<stdio.h>
main(int k)
{
double pi,t=1,a=1,b=1;
pi=0;
int n=1;
while(t>1e-6){
t*=a/b;
pi+=t;
n++;
a=n-1;
b=2*n-1;
}
pi=pi*2;
printf("pi=%.10f",pi);
}
第二题
#include<stdio.h>
main(int k)
{
int tax;
int wage;
scanf("%d",&wage);
printf("%d",wage);
if(wage<800)
tax=0;
else if(wage<5000)
tax=wage*0.03;
else
tax=(5000-800)*0.03+(wage-5000)*0.2;
printf("tax=");
printf("%d",tax);
}
图中红色箭头的数据类型和答案不一样,是为了可以输入,我的编译器不一样,用double类型输入不了,按照答案的数据类型即可。
第3题
#include<stdio.h>
main(int k)
{
double sum=0,a=1,b=2,t;//sum表示综合,a与b表示某项的分子与分母,t表示项
int i=1;
while(i<=10){
t=a/b;
sum+=t;
i++;
b=b*2;
a=b-1;
}
printf("sum=%f",sum);
}
选择排序
#include<iostream>
using namespace std;
main()
{
void select_sort(int array[],int n); //函数声明
int a[10];
int i; //声明一个数组a,和一个变量i
cout<<"enter the original array:"<<endl;//输入数组
for(i=0;i<10;i++){
cin >> a[i];
}
cout << endl;
select_sort(a,10);
cout << "正在排序。。。" << endl;
for (i=0;i<10;i++)
cout<<a[i]<<" ";
//prinft("第%d个数字是%d",i,a[i]);
cout << endl;
return 0;
}
void select_sort(int array[],int n){
int i,j,k,t,ii,ll;
for(i=0;i<n-1;i++){
k=i;
for(j=i+1;j<n;j++){
if(array[j]<array[k]) k=j;
}
t=array[k];
array[k]=array[i];
array[i]=t;
for (ii=0;ii<10;ii++)
cout<<array[ii]<<" ";
cout<< "/n" <<endl;
}
}