c语言高手救命
//使用的vc6.0调度“//”后面为注释
#include
using namespace std;
struct STU
{
char name[10];
int num;
float TotalScore;
};
void f(struct STU *p)
{
struct STU s[2]={{"SunDan",20044,550},{"Penghua",20045,537}}, *q=s;//q指向s[0]
++p;//指针下移
++q;//到这里,p, q 分别指向主函数s[1],和f中的s[1]
*p=*q; //将f中的s[1]赋给主函数s[1]
}
void main()
{
struct STU s[3]={{"YangSan",20041,703},{"LiSiGuo",20042,580}};
f(s);//传递的是数组名,即指针,指针可以改变形参
printf("%s %d %3.0f
", s[1].name, s[1].num, s[1].TotalScore);
}
///////////////////////////////////////第2题
struct STU
{
int num;
float TotalScore;
};
void f(struct STU p)
{
struct STU s[2]={{20044,550},{20045,537}};
p.num = s[1].num;
p.TotalScore = s[1].TotalScore;
}
main()
{
struct STU s[2]={{20041,703},{20042,580}};
f(s[0]);//传送的变量名,无法改变形参,不多说了
printf("%d %3.0f
", s[0].num, s[0].TotalScore);
}
///////////////////////////////////////////////////////////////第3题//////
struct STU
{
char name[10];
int num;
};
void f(char *name, int num)
{
struct STU s[2]={{"SunDan",20044},{"Penghua",20045}};
num = s[0].num;
strcpy(name, s[0].name);
}
void main()
{
struct STU s[2]={{"YangSan",20041},{"LiSiGuo",20042}},*p;
p=&s[1];
f(p->name, p->num);//name为指针(数组名),num不是,所以只改变name(输出SunDan)
printf("%s %d
", p->name, p->num);
}
//main函数改成这样结果一样
void main()
{
struct STU s[2]={{"YangSan",20041},{"LiSiGuo",20042}},p;
p=s[1];
f(p.name, p.num);//name为指针(数组名),num不是,所以只改变name(输出SunDan)
printf("%s %d
", p.name, p.num);
}
///////////////////////////////////////////////////////////////////第4题
/*函数名: rewind
功 能: 将文件指针重新指向一个流的开头
用 法: int rewind(FILE *stream);
程序例:
*/
void main()
{
FILE *fp; int i, k, n;
fp=fopen("data.dat", "w+"); //创建一个名为data.dat的文件
for(i=1; i<6; i++) //输入1,2,3,4,5
{
fprintf(fp,"%d ",i);
if(i%3==0) fprintf(fp,"
"); //为3是换行
}
rewind(fp);
fscanf(fp, "%d%d", &k, &n); printf("%d %d
", k, n);//从头开始读文件,读两数当然是1 ,2了
fclose(fp);
}
///////////////////////////////////////////////////////////////////////////第5题
int a=2;//全局变量
int f(int n)
{
static int a=3;
int t=0;
if(n%2){ static int a=4; t += a++; } //这里的a只有块作用域
else { static int a=5; t += a++; }
return t+a++; //使用的是函数和一行的a,++在后时,先用后加
}
void main()
{
int s=a, i;//这里a为全局变量,故s为2
for( i=0; i<3; i++)
s+=f(i);
printf("%d
", s);
}
/*
还是分析一遍吧:
注意f里面的a都是静态的只赋值一次,下次作用时值不变。
先算f(0): 0%2为零 执行 esle,自增运算“++”在后,先加后自增,所以t为5;随后a为6,return 时else里的a无效,
这里的a为函数第一行为3的a,返回5+3,a自增为4;
f(1): 执行if t ==4 a为5(下次不用它,不管它也行)return时,因上次a自增为4为,所以返回 4+4,这时a自增为5
f(2):执行else 此时else中a为6了(执行f(0)时自增的)t = 6;return时加上第一行的a(5) 返回11
2+8+8+11 == 29没错吧!
*/
abcbcc
for(i=0;i<3;i++) strcpy(x[i],ch); //for里面漏了个分号
if (a) if(c==d) y=0;
else y=1;
就相当于
if (a)
{
if(c==d)
{
y=0;
}
}
else y=1;
或者写成if(a!=0 && c==d) y=0;
else y=1;
if(a)就是if(a!=0)的意思
2.选D
A中if(k%2)就是if(k%2!=0),一个整数除以2取余不等于0就等于1,所以也可以写出if(k%2==1)与B同,与C同,前三项的意思都是说K是奇数,D中“!”取反得优先级最高,所以如果D是奇数(肯定不等于0吧)!k就是0了,0%2等于0啊
3.选A
因为sin(X),X的值必须是小数,1/2等于0,要写出1.0/2或者1/2.0才能等于0.5
4.if(c=a)就相当于c=a; if(a!=0),它的原理是先把a赋值给c,然后看c是否不等于0,因为a不等于0,所以c也不等于0,if为真,输出c的值为1
回答你的问题真够费神,还上上班,还怕被发现
哎...
1. if (a if(c==d) y=0;
else y=1;
搞不懂,代码贴错了吧?? 连B也没有,而且括号也不对....
2. D !k%2==1 !(k%2==1)两者不同
3. A int型数运算结果为int -> 1/2 = 0
4 c=a 并不是 c==a!!!!! 将a值赋给c,表达式值为1.所以输出的是C==1
第一题:肯定写错啦!
第二题:D 但是有问题,问题就是你没有明白该表达式的意思,k % 2 结果要么是1,要么是0,判断K 是不是奇数.!k 就是0,下面的语句就永远不可能执行啦!
第三题: A 1/2 结果为0
第四题:对于此题你要分清楚,在C语言中,相等的符号是==
而=是赋值运算符.
^^^^好好学啊!
^^^
^
1. if (a if(c==d) y=0;
else y=1;
代码不全。。。。。
2. D
3. A
4 c=a 并不是 c==a 将a值赋给c,表达式值为1.所以输出的是 1
求C++高手救命:有一个分段函数y=-1 (x<0) y=2x+1(0<=x<25) y=3x^2+...
if(x < 0){ y = -1;}else if(x < 25){ y = 2 * x + 1;}else{ y = 3 * x * x + x + 2;}
c语言作业,哪位高手帮帮我,明天交,呜呜~救命!
呵呵,通过测试 include<stdio.h> int a[10][10],b[100];;int i,j,k,n;void duru()\/\/输入方阵 { printf("请输入方阵的维数:");scanf("%d",&n);for(i=0;i<n;i++){ printf("请输入第%d行元素",(i+1));for(j=0;j<n;j++)scanf("%d",&a[i][j]);} } void qiuhe(...
救命网络用词是什么意思?
求救的意思,也是开玩笑的意思,比如我王者连跪救命,意思是想要你拯救的意思。进入21世纪的十多年来,随着互联网技术的革新,这种语言形式在互联网媒介的传播中有了极快的发展。网络语言越来越成为人们网络生活中必不可少的一部分。但是要注意的是,部分网络语言并不符合我们现代汉语的语法规定,因此并不...
高手救命!题目是:C语言中,数据可以用( )和( )两种代码形式存放,跪求...
二进制 和 ASCII两种代码
C语言考卷。救命的啊!大家谁帮帮忙啊!
1、若w=1,x=2,y=3,z=4;则条件表达式w>x? w:y<z? y:z的结果为 b 。(A) 4 (B) 3 (C) 2 (D) 1 2、设i,s是整型变量,执行如下的语句:for(i=0,s=0;i<10;i++,s++);printf(“%d, %d\\n”,i,s);输出的i和s的值为 d 。(A) 0,0...
救命用蒙古语怎么说? 我要到外蒙长期出差,那边的人英文好么?如果我不...
首先认同你的防范意识。救命蒙古语发音:哎米 阿布拉(raa)。拉丁发音:aem avraa。哎米是命 ,阿布拉(raa)是救。数字:0-特格(tiig)1-尼格(niig),2-好雅尔(hoiir),3-古尔巴(grovb),4-杜尔波(durv),5-它布(taav),6-吉尔嘎(jirga),7-到勒(dolo),8-奈吗(niem...
做一个RSA的算法,C语言实现的~!编程高手进啊~!救命啊~!
看你催就仓促写了个,自我感觉写的不是很好,但是能用了。数据只能是大写字母组成的字符串。加密的时候,输入Y,然后输入要加密的文本(大写字母)解密的时候,输入N,然后输入一个整数n表示密文的个数,然后n个整数表示加密时候得到的密文。\/*RSA algorithm *\/ include <stdio.h> include <string.h...
我不敢和girl说话,怎么办?苦恼中???各位高手救命呀!!!
写情信吧,现在很少人会写情信了,把握这个优势,用你的文字感动她!!信我吧,因为我也是女孩。
急求高手翻译--英文 高手救救命啊
How does this topic mainly aim at uses AVR monolithic integrated circuit ATmega16L the control behavior to carry on the simulation to the operator, thus achieves the bicycle robot's balancing control. And step-by-steps the electrical machinery take the digital simulation control circuit ...
高手救命
高手救命! 2010-08-23 高手救命!runtime error R6002 float... 301 2012-07-14 英语高手救命啊 7 2008-12-10 高手救命呀 2011-06-03 英语高手救命 6 2009-12-16 求高手救命!!!急急急!! 13 2012-05-28 英语高手救命 15 2009-09-18 c语言高手救命 7 更多类似问题 > ...
池侍痹欣: 1、a 2、a 3、a 4、c 5、d 6、a 7、d 8、a 9、c 10、c 11、c 12、d 13、c 14、a 15、d 16、2 17、2 18、1 19、1 20、1
友好区17392917431: 急求!各位C语言高手大哥救命!?
池侍痹欣: <script language="javascript"> for ( i = 1; i <= 10; i++ ) { alert("hello, world"); alert("somethings to tell you..."); } </script> 这样保存成html就最简单了~
友好区17392917431: c语言问题 高手速回救命!!!?
池侍痹欣: 试试这些代码 #include <stdio.h> void main() { int a[9]={1,2,3,4,5,6,7,8,9}; for(int i=0;i<9;i++) { printf("%d",a[i]); } } 哦,漏了个0, #include <stdio.h> void main() { int a[9]={0,1,2,3,4,5,6,7,8,9}; for(int i=0;i<=9;i++) { printf("%d",a[i]); } }
友好区17392917431: C语言高手求救了`````````` - ?
池侍痹欣: 思路很简单,有什么不懂的可以问我#include <stdio.h>#include <stdlib.h>#include <string.h>#define STRLEN 2048//把p1后(含P1)p2之前(不含p2)的字符串复制到str void cpstr( char* p1, char* p2, char str[] ) { int i=0; while( p1!=p2 ) { str[i] = *p...
友好区17392917431: 高手救命!题目是:C语言中,数据可以用( )和( )两种代码形式存放,跪求答案,研究生考试用!救命! - ?
池侍痹欣: 二进制 和 ASCII两种代码
友好区17392917431: C语言高手进,急救啊?
池侍痹欣: #include <stdio.h> void main() { int n4,n3,n2,n1; //用来储存各个数位的数字. int num; //被检测的数字 int b[9000]; //用来储存满足要求的数字 int i = 0; for(num = 9999; num > 999; num--) { n4 = num/1000; //千位数数字 n3 = (num - n4*1000)/...
友好区17392917431: C语言高手速进...求救啊!?
池侍痹欣: k=sqrt(n); //只需要判断到根号n就行了 for(i=2;i<=k;i++) if(n%i==0) //对2到k的数判断能否整除n break; //当一有一个能整除n时就退出循环 if(i>=k+1) //判断之前的 i 是否已经加到了 k+1 ,如果是的话也就是之前所有的数都不能整除 n ,这就说明n是素数 return 1; else return 0; if(n%i==0) //对2到k的数判断能否整除n break; //当一有一个能整除n时就退出循环,如果没有循环到i = k+1 但是n%i==0了,这样退出在下面判断 i >= k+1 就是不成立,也就会是else ,将返回0,就说明不是素数了
友好区17392917431: 高手救命!C语言回文数,我用最简单的方法编了,但答案不理想! - ?
池侍痹欣: 给出以下代码,你看看和你的算法有什么不同. 我的算法是: 1、读入这个数,用一个字符串保存; 2、用另一个字符串存储这个数的逆序数; 3、比较两个字符串,看是否相同. #include#include#includevoid check (int i) { char p[6],q[6]; int length; register int j,r; _itoa (i, p, 10); //数字到字符的转化 length = strlen(p); //获得p的长度 r = length; // q[r] = '\0'; // r--; // for (j= 0 ; j
友好区17392917431: C程序高手,救命啊?
池侍痹欣: #include<stdio.h> int a,b,c,v; scanf("%d%d%d",&a,&b,&c); v=a*b*c; printf("V=%d",v);
友好区17392917431: 会C语言的高手来救命啊~~?
池侍痹欣: Borlandc C++ 3.1编译器哦.