C语言问题求解,在线等,急!!!

作者&投稿:尚雷 (若有异议请与网页底部的电邮联系)
c语言程序设计问题,在线等,急,求解答~

*是这个值所指的地址吧,++的优先级其实是高于*的


#include

int main() {
int n;
scanf("%d", &n);
printf("decocthex
");
for (int i = 0; i <= n; i++)
printf("%d%o%x
", i, i, i);
return 0;
}

思路:

1、根据题意每天从区间1~N中,依次深度-1,遇到某个深度0时停止作业,所修改的区间就是当日作业区间。

2、独立函数实现一天作业(workForDay)。参数flag为1显示作业过程,如不需要传0。

3、init函数为输入并返回动态数组。

#include <stdio.h>

#include <malloc.h>

int len=0;//路面长度

int *init();//根据输入初始化深度数组,成功返回地址,失败返回NULL

int workForDay(int *dps,int flag);//执行一天填充作业。成功作业返回1,无需作业返回0, 异常返回-1

//flag=1,打印输出作业过程。flag=0,不打印过程

int main()

{

    int day=0,re,*dps=NULL;

    dps=init();

    if(!dps) return 1;

    while((re=workForDay(dps,1))==1)

        day++;

    if(re==-1) return 1;

    printf("共作业%d天
",day);

    free(dps);dps=NULL;//在本程序可不释放,但如果多次调用init函数,每次用完数组,需这样释放内存。

    return 0;

}

int *init()

{

    int i,*dps=NULL;//dps每单位长度对应深度

    len=0;

    while(len<=0) scanf("%d",&len);//长度必须大于0整数

    dps=(int *)malloc(sizeof(int)*len);

    if(!dps) return NULL;

    for(i=0;(dps[i]=-1) && i<len;i++)

        while(dps[i]<0) scanf("%d",&dps[i]);//每个深度必须大于等于0整数

    return dps;

}

int workForDay(int *dps,int flag)

{

    int i,bn=-1,an=-1;

    if(!dps) return -1;

    for(i=0;i<len;i++)

    {

        if(bn==-1 && dps[i]>0)

            bn=i+1,an=bn,dps[i]--;

        else if(bn!=-1 && dps[i]>0)

            an=i+1,dps[i]--;

        else if(bn!=-1 && dps[i]==0)

            break;

    }

    if(bn==-1) return 0;

    if(flag) printf("当日作业区间为[%d,%d]
",bn,an);

    return 1;

}



//这应该是用贪心,我以前好像写过这个题,好像是洛谷的题
#include<stdio.h>
#define N 100010
int a[N];
int main() {
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++)
scanf("%d", &a[i]);
long long sum = a[0];
for (int i = 1; i < n; i++) {
if (a[i] > a[i - 1]) {
sum += a[i] - a[i - 1];
}
}
printf("%lld", sum);
return 0;
}

#include <stdio.h>
#include<stdlib.h>

#include <malloc.h>

#pragma warning(disable:4996)

unsigned int len = 1;//路面长度
unsigned int day = 0;

void init(unsigned int* dps);//根据输入初始化深度数组,成功返回地址,失败返回NULL

int workForDay(unsigned int* dps, int flag);//执行一天填充作业。成功作业返回1,无需作业返回0, 异常返回-1

//flag=1,打印输出作业过程。flag=0,不打印过程

int main()

{

unsigned int re, * dps = NULL;

scanf("%u", &len);//长度必须大于0整数

dps = (unsigned int*)malloc(sizeof(unsigned int) * len);

init(dps);

while ((re = workForDay(dps, 1)) == 1)

day++;

if (re == -1) return 1;

printf("共作业%u天\n", day);

free(dps);
dps = NULL;//在本程序可不释放,但如果多次调用init函数,每次用完数组,需这样释放内存。

return 0;

}

void init(unsigned int* dps )

{

unsigned int i;

for (i = 0; i < len; i++)

{
scanf("%u", &dps[i]);//每个深度必须大于等于0整数
}

}

int workForDay(unsigned int* dps, int flag)

{

unsigned int i;
int bn = -1, an = -1;

if (!dps) return -1;

for (i = 0; i < len; i++)

{

if (bn == -1 && dps[i] > 0)

{
bn = i + 1;
an = bn;
dps[i]--;
}

else if (bn != -1 && dps[i] > 0)

{
an = i + 1;
dps[i]--;
}

else if (bn != -1 && dps[i] == 0)

break;

}

if (bn == -1) return 0;

if (flag) printf("第%u日作业区间为[%d,%d]\n",day+1, bn, an);

return 1;

}


C语言编程题求解!在线等!
(a+b>c&&a+c>b&&b+c>a)(a==b&&b==c)(a==b||a==c||b==c)

C语言题目,大神求解在线等急
不好意思,这么久才看到,相应代码如下:include<stdio.h>void main(){int A[3],n;for(n=0;n<3;n++){scanf("%d",&A[n]);if(A[0]<=150){printf("CRASH %d\\n",A[n]);break;}else{puts("NO CRASH");break;}}}图片的右上角是输入50 150 200的结果,左下角是输入200 150 50...

C语言问题 在线等
很多东西可以通过实践去学习,比如您编程发现i++没问题但是1++会报错,于是您就知道了哦原来自增运算只能施加于左值(l-value)……当然一些基础的内容还是必要的。实际上后面这几个题目都很基础,这样的问题应该在学习C语言的前期就能够自己解答的。废话说的不少,本来我看到第一个题目后只是想说明“未...

C语言问题(在线等)
数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组...

c语言问题,在线等_(:_」∠)_
include <stdio.h>int main(void){char s[200],*p,*max; printf("Input a string:\\n"); gets(s); for(max=p=s;*p;p++) if(*p>*max)max=p; printf("The largest character of\\"%s\\" is \\'%c\\',The ASCII is %d.",s,*max,*max); return 0;} ...

C语言编程题求解!在线等!
include<stdio.h> int main() { int i=1,p=1;double s=1;do{ s+=1.0\/p;p*=(++i);}while(p<1000000);printf("e=%lf\\n",s);}

C语言问题。在线等。
头文件没有include好。你加上 include <conio.h> \/*clrscr函数所在的头文件*\/ include <bios.h> \/*bioskey函数所在的头文件*\/ 其它的函数,你得先声明,再引用。或者把其它的函数放在main的前面。即把main函数放在源代码的最后。如果是上面的头文件的话,建议你用TC编译。

C语言问题 在线等
以下合法的一组常量是 A. 1.24e3 08211 0xFF 12L \/\/合法 B. 38.00e8f 12UL 01777777 ‘X’ \/\/ 38.00e8f 不合法 C. 20FA 07321 0xffff ”A“ \/\/20Fa不合法 D. 3.14E2.3 0x32768 -27 1UL \/\/ 3.14E2.3 不合法 2. 以下常量合法的...

C语言问题,,大神求解!在线等。。感谢
\/\/刚写的,测试通过,如果有疑问, 欢迎交流#include<stdio.h>int main(){char s1[80], s2[80];gets(s1);int cur_idx = 0;while(s1[cur_idx]!='\\0'){s2[cur_idx] = s1[cur_idx];cur_idx++;}s2[cur_idx] = '\\0';puts(s2);return 0;} ...

C语言求解,过程!在线等!!!
执行结果,输出为0。x是整形,x=1.2,实际会把小数部分舍掉,x的值为1 y=(x+3.8)\/5.0,相当于y=(1+3.8)\/5.0,虽然右边是浮点运算,结果不为0,但结果的整数部分为0,赋给整形的y的时候,同样舍去小数部分,y的值为0 最后输出d*y,无论d的值是什么,结果都为0。

孟连傣族拉祜族佤族自治县17212371157: c语言问题!!在线高分急求!!!谢谢谢谢来帮下 -
定狠鼻炎: 插入前: a[0]=30 a[1]=20 a[2]=9 a[3]=6 a[4]=2输入要...

孟连傣族拉祜族佤族自治县17212371157: 求助C语言问题,急!在线等 -
定狠鼻炎: #include struct node { int Cu,Fe,Sn; }p[3]; int main() { //甲的回答 p[0].Fe=0;//不是铁 p[0].Cu=0;//不是铜 p[0].Sn=2;//锡未知 //乙 p[1].Fe=0;//不是铁 p[1].Sn=1;//是锡 p[1].Cu=0; //丙 p[2].Fe=1;//是铁 p[2].Sn=0; p[2].Cu=0; int i; for(i=0;i

孟连傣族拉祜族佤族自治县17212371157: 一道C语言的题 急 在线等 多谢 -
定狠鼻炎: 1.#include int main(){ int x; printf("1、输入成绩\n"); printf("2、求平均分\n"); printf("3、求总成绩\n"...

孟连傣族拉祜族佤族自治县17212371157: C语言输入输出问题,在线等!急 -
定狠鼻炎: 1)#include int main(){ char c; char str[100], *p=str; int i = 0, n =0; printf("Type a sentence and end it with Enter and Ctrl-D\n")...

孟连傣族拉祜族佤族自治县17212371157: 急急!!!!!!!!C语言问题.在线等的 -
定狠鼻炎: #include void main() { static int a[100]; int *p,*q; int n,i; printf("请输入数组元素个数\n"); scanf("%d",&n);//输入数组元素个数 p=a; for(i=0;i scanf("%d",&(*p++));//用指针输入数组 if(a[0] p=a;q=a;//为方便起见,指针回到首位 for(i=0;i { if(a[i] if(*p if(*q>a[i])q=&a[i]; } printf("绝对值最大的元素和绝对值最小的元素的和为%d.\n",*p+*q); } 在VC下编译通过.

孟连傣族拉祜族佤族自治县17212371157: C语言求解,急在线等! -
定狠鼻炎: #include <stdio.h>#include <stdlib.h>#include <time.h> int main(int argc, char *argv[]) { srand((int)time(0)); int i,n=0; int count[6]={0}; for(i=0;i<100;i++) { n=rand()%6+1; count[n-1]++; printf("\n第%d次投出: %d 共%d次",i+1,n,count[n-1]); } for(i=...

孟连傣族拉祜族佤族自治县17212371157: c语言求解[急急] -
定狠鼻炎: int main () { int a=1,b=10; do { b-=a;a++; } while(b--<0); cout<<a<<endl<<b; } 这样执行根本就不循环,b--是先判断后作b=b-1,a=2,b=8;你题目出错了吧

孟连傣族拉祜族佤族自治县17212371157: C语言小问题,求解!急急! -
定狠鼻炎: 就是在stud数组(stud应该是一个结构数组)中从第一个元素开始查找name属性是否与输入的s值相等,如果相等就结束查找(当然不等的话就继续i++了),此时的i的值就是查到的位置,如果查找完所有的都没有找到匹配的,跳出循环的时候,i就等于n了,所以才会输出失败信息,其它的printf和scanf什么的都是基础语句,没什么好解释的.

孟连傣族拉祜族佤族自治县17212371157: C语言小问题,求解答.在线等! -
定狠鼻炎: 因为这是先做完++,--后才做a*a,所以先变成6又变回5,所以是5*5=25

孟连傣族拉祜族佤族自治县17212371157: 求C语言大神解一道题,在线等,谢谢啦~ -
定狠鼻炎: #include int main(){ int i,j; for(i=0;i<5;i++){ //输出空格 for(j=0;j<5;j+...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网