C语言问题求教!!!求大神解答
#include int main() {double p,w,s,d,f;scanf("%lf%lf%lf",&p,&w,&s);if(s >= 3000) d = 0.15;else if(s >= 2000) d = 0.10;else if(s >= 1000) d = 0.08;else if(s >= 500) d = 0.05;else if(s >= 250) d = 0.02;else d = 0;f = p*w*s*(1 - d);printf("总运费是%lf
",f);return 0;}
a[10]会有乱码,a[11]不会,a[11]正好是0
字符串默认以0结尾
#include<stdio.h>
void MonthDay(int year, int yearDay, int * pMonth, int * pDay);
int main(void)
{
int year, yearDay, month, day;
month = day = 0; //后边有自增操作需要初始化
int * pMonth = &month;
int * pDay = &day;
printf("Please input year yearDay:
");
scanf_s("%d %d", &year, &yearDay);
MonthDay(year, yearDay, &month, &day);
printf("month=%d
", *pMonth);
printf("day=%d
", *pDay);
return 0;
}
void MonthDay(int year, int yearDay, int * pMonth, int * pDay)
{
int i;
int monthday[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if (year % 4 == 0 && year % 100 != 0 && year % 400 == 0)
/*monthday[12] = 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31;*//*错误,不能这样赋值,monthday[12]指第13个元素,已经越界了,所以报错。*/
/*同时赋值也不能这样赋值,因为这是一个逗号表达式,值是最右边的,也就是说只有一个值*/
monthday[1] = 29;//只有第二个元素有差别,直接改就是了
for (i = 0; i<12; i++)
{
if (yearDay>monthday[i])
{
yearDay -= monthday[i];
(*pMonth)++; //自增优先级低于取值运算符
}
else
*pDay = yearDay;
}
}
void MonthDay(int year, int yearDay, int * pMonth, int * pDay)
{
int i;
int monthday[12];
if (year % 4 == 0 && year % 100 != 0 && year % 400 == 0)
monthday[12] = 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31;
else
monthday[12] = 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31;
错误的地方的修改===〉
monthday[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
else
monthday[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
数组的赋值错了
scanf("%d %d", &year, &yearDay);别用scanf_s
关于C语言求教一个问题:大一新生求教!!
include<stdio.h> int main(void){ printf("%d,%d,%d",sizeof(short),sizeof(int),sizeof(char));return 0;} 以我的机器为例,短整型,整形,字符型的变量所占的字节数,分别是2,4,1;如果按照一个字节是8位,那么121,在八位之内,八位可以表示0~255 0111 1001,这是121的二进制形式...
高分!!汇编语言的若干问题
WINDOWS依赖于汇编生存。5、如果对应不同硬件需要不同的汇编语言反复重新编写,那么这样的汇编语言种类是不是很多很复杂?是。6、高级语言是否是先编译成汇编指令再汇编成机器码,如果是这样高级语言在编译成汇编指令后如果汇编指令不能做到第三个问题那样,又是如何实现对各种高级语言和机器指令的协调统一的...
c语言编程问题求教
printf(sum is %d\\n",sum)这段中\\n表示结束本行输出,从起一行的意思,如果sum=5 输出的结果应该是:sum is 5
求教一个c语言问题,这个公式怎么理解?
你可以先不看这个公式,想一下一个二维数组,比如a[4,3]的内容(即a[0-3,0-2]比如是 1 2 3 4 5 6 7 8 9 10 11 12 假定你要计算a[2,1](假定行标记为i,列为j),它相对于a[0,0]的偏移,就是 0+(2-0)*(3-0+1)+(2-0)结果为10,意思就...
关于现代汉语语音的两则问题 求教
1.现代汉语声母由21个辅音和零声母,总计22个构成。2.按发音方式,可分为塞音、塞擦音、擦音、边音、鼻音。还有送气与不送气之分3.按发音部位,有舌尖音、舌尖中音、舌面前音、舌根音 、舌尖后音 双唇音、唇齿音等4.按声带振动与否可分清音、浊音。舌面元音 可参照元音舌位图;前央后就是舌头在...
初学者求教简单的C语言问题?
问题1:将case 1, case 2, case 3 依次改作case '1',case '2', case '3'就好了。因为scanf("%c",&choice);这句表示choice是以字符形式接收输入的数据,所以case的形式应该也是字符的形式!case部分如下修改就好了 scanf("%c",&choice)while(choice!=‘4’){ scanf("%c",&choice)swit...
求教c语言问题!!! 警察审问四名窃贼嫌疑犯。已知,这四人当中仅有一名是...
推理题目,一个一个的去验证,例如:假设甲是窃贼,那么他的话就是假的,乙说的也是假的,那么丙没有偷,丙说的是真的,那么丁偷了,这就矛盾了!编程的话,将命题改写成符号,例如甲 aa = 0表示甲说甲没有偷。ba=0表示乙说甲没有偷,bc=1表示乙说是丙偷的,若假设a=1,那么ba=0为假...
c语言的问题,第八题,求教求教
您好,a
c语言新手求教几个问题: 1、a=a+7=c+b为什么语法错误
一、赋值号左边必然是变量, a+7=c+b是错误的。等号是赋值运算,这就意味着等号左边必须是被赋值的变量,显然a+7是表达式,而不是变量。二、赋值语句是由赋值表达式再加上分号构成的表达式语句。其一般形式为: 变量=表达式;在赋值语句的使用中需要注意以下几点:1. 由于在赋值符“=”右边的表达式也...
求教C语言中表达式的问题,求解!!!
在c语言中真是1,假是0。任何比较<=,>,!=等的结果只可能是真或假,亦即1或0。1 对于a<=x,不论a和x的值是多少,结果只可能是0或1,而0或1都是小于b(100)的。所以,a<=x<=b的值是1(真)。2 在c中5>2>7>8是允许的。与1同理,5>2>7的结果肯定是小于8的。所以,5>2>7...
宓苛大黄: 1、首先第四行是定义的一个子函数,在主函数内部定义的所以后面要加分号2、设定abc三个变量是题目所需,因为比较大小两个数来比较第三个变量来保存比较结果,你也可以设定两个变量,把比较结果保存到输入值中不过就会覆盖原来的值3、Z是一个子函数变量,设定在主函数中在子函数不能使用,z的生存期只有在那个max函数中才会分配内存空间4、第18行没有出来,第16行倒是可以给你解释哈,在16行他是返回比较值保存在z当中的然后在第7行那个c就会接收到max的比较结果
舟山市15291168064: 请教一道简单的C语言题目,求大神解答 - ?
宓苛大黄: 你没考虑到相邻两个数相等你情况.你看样例第四组数开头有两个7,输出是-1,说明严格递增是a[i+1]>=a[i],严格递减是a[i]>=a[i+1].
舟山市15291168064: c语言问题,求大神解答!给一个不多于5位的正整数.①求出它是几位数.②分别输出每一位数字.③按逆序输出各位数字.例如原数位465,应输出5 6 4.... - ?
宓苛大黄:[答案] #include#include#includeint main(){int num,tmp,i,j;int n[5]={0};//用于存储num分解后的每位上的数字,由于num不超过5位,所以数组有5个单元就可以了 int *sq_ls_num;printf("请输入一个不多于5位的正整数: ");sc...
舟山市15291168064: C语言问题,求高手解答.:C语言问题,小白勿入描述:FOR语句循环,我们假定有三个循环.当程序运行到一定程度时怎样让语句从第三个循环返回时直... - ?
宓苛大黄:[答案] 如果只是单纯的实现问题的功能. goto语句就可以了.(虽然goto有点不利于程序可读.但是这里用goto是最直接的方法.) 下面是伪代码: firstFor: for(参数)//第一个for循环 { for(参数)//第2个for循环 { for(参数)第3个fo...
舟山市15291168064: c语言问题 求大神解答 - ?
宓苛大黄: 按题中的意思就是两个瓶子换一瓶汽水(不含瓶子),所以下面的代码就搞定了#include int main() { int n,i,a,b,sum=0; scanf("%d",&n); if(n sum = 0; } else { //两个以上可以换 sum = n/2; //直接除以2,因为int类型所以多一个瓶子也不影响 } printf("%d\n",sum); //这是答案 return 0; }
舟山市15291168064: C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下原因 - ?
宓苛大黄: 已修改,看注释#include int main() { char a[20],b[20],c[50],*p1,*p2,*p3; p1=a,p2=b,p3=c; gets(a); while(*p1) { *p2 = (*p1)+3; //对字符串中的每个字符用加3的方法加密并存入数组b p1++; p2++; }*p2='\0'; //串结束符 p2=b ; //p2重新指向b的开始位置 while(*p2) { *p3 = (*p2)-3; //对b中的字符串解密存入数组c p3++; p2++; }*p3='\0'; puts(a); //puts是输出一个串 puts(b); puts(c); return 0; }
舟山市15291168064: c语言! 求大神详解!!!!!! - ?
宓苛大黄: 本题选B!字符串包含以下八个字符:a \041--》)#041 \\--》\ b
舟山市15291168064: C语言题目,求大神解答~!!! - ?
宓苛大黄: 这是一个字符串检索问题://在S字符串中检索子串T(模式匹配) int Index(char *S, char *T){ int i,j,lenS,lenT; for(lenS=0;S[lenS];++lenS); for(lenT=0;T[lenT];++lenT); i=1;j=1; while(i if(S[i-1]==T[j-1]){ ++i;++j; }//匹配,一起后移 else {i=i-j+2;j=1;if(i>...
舟山市15291168064: C语言遇到问题,求高手解答 - ?
宓苛大黄: #includevoid main() {int a,b,add(int,int),dif(int,int),pro(int,int),quo(int,int); void process(int,int,int(*fun)(int x,int y));/*改了这!!!!!*/ scanf("%d,%d",&a,&b); process(a,b,add); process(a,b,dif); process(a,b,pro); process(a,b,quo); } void process...
舟山市15291168064: C语言问题 求大神指导 - ?
宓苛大黄: 第一题应该选c.A:若A为奇数,则A除2取余就是等于1,所以表达式成立,返回1,表示真 B:若A为奇数,则A除2取余就是等于1,则A除2取余就是等于1,所以表达式不成立,返回0,在进行一次非运算,0变1,表示真 D:若A为奇数,则A除2取余就是等于1,表示真 第二题是什么意思?