c语言题目来大神来大神

作者&投稿:倪仇 (若有异议请与网页底部的电邮联系)
C语言题目来大神!!!~

#include #include #includevoid fun(char * str,int len){int temp;int arr[len];arr[0]=atoi(strtok(str," ")); for(int i=1;i<len;i++){ arr[i]=atoi(strtok(NULL," "));} for (int i = 0;i < len - 1; i++) for (int j = 0; j < len - 1 - i; j++) if (arr[j] < arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } for(int i=0;i<len;i++) printf("%d ",arr[i]);}int main(){ char str[12]; int n=10; scanf("%s",str); fun(str,n);}

//37#includevoid main(){float x;printf("x=");scanf("%f",&x);printf("y=",-(x+4)/2);}//38#includevoid main(){float x1,y1,x2,y2,k,b;scanf("%f%f%f%f",&x1,&y1,&x2,&y2);k=(y1-y2)/(x1-x2);b=y1-k*x1;printf("y=%fx+%f",k,b);}//39#includevoid main(){float a[5],sum=0;int i;for(i=0;i<5;i++){scanf("%f",&a[i]);sum=sum+a[i];}printf("sum=%f,ave=%f",sum,sum/5);}

员工信息是用链表连接的。

我这里init是初始化函数,初始了6个员工的链表,你想改手动输入信息,仿照这个函数调用就行了。

#include <stdio.h>
#include <conio.h>
#include <malloc.h>
#include <string.h>
typedef struct people
{
    char name[20];
    int age;
    int worktime;
    int sex;//0是女,1是男
    int marrige;//0未婚,1已混
    int grade;//1~5
    float wage;
    int tired;//0退休,1在职
    struct people *next;
}PEOPLE;
void meError(void *p);//内存申请失败
PEOPLE *newPeople(PEOPLE *pHead,PEOPLE *pTail,PEOPLE *pNew);//将新建的节点pNew插入链表,返回尾节点(必须用尾节点指针接收)
PEOPLE *init(PEOPLE *pHead,PEOPLE *pTail);//给链表初始化10个员工,返回链表尾节点,你想写输入就仿照这个调用函数(必须用尾节点指针接收)
void pfList(PEOPLE *pHead);//打印链表信息
void chWage(PEOPLE *pHead);//工资调整
int main()
{
    PEOPLE *pHead=(PEOPLE *)malloc(sizeof(PEOPLE)),*pTail=NULL;
    meError(pHead);
    pHead->next=NULL;
    pTail=init(pHead,pTail);
    printf("初始化6名员工的信息为:
");
    pfList(pHead);
    printf("开始进行工资的调整,规定退休职工增加工资50元,在职的职工1~5级的工资分别增加20、40、60、80、100元
");
    chWage(pHead);
    printf("调整后的员工信息为:
");
    pfList(pHead);
    return 0;
}
void chWage(PEOPLE *pHead)//工资调整
{
    while(pHead->next)
    {
        if(pHead->next->tired==0)
            pHead->next->wage+=50;
        else
            switch(pHead->next->grade)
            {
                case 1:pHead->next->wage+=20;break;
                case 2:pHead->next->wage+=40;break;
                case 3:pHead->next->wage+=60;break;
                case 4:pHead->next->wage+=80;break;
                case 5:pHead->next->wage+=100;break;
            }
        pHead=pHead->next;
    }
}
void pfList(PEOPLE *pHead)//打印链表信息
{
    while(pHead->next)
    {
        printf("姓名:%s
",pHead->next->name);
        printf("年龄:%d
",pHead->next->age);
        printf("工龄:%d年
",pHead->next->worktime);
        printf("性别:%s
",pHead->next->sex?"男":"女");
        printf("婚姻:%s
",pHead->next->marrige?"已婚":"未婚");
        printf("级别:%d级
",pHead->next->grade);
        printf("工资:%f
",pHead->next->wage);
        printf("在职状态:%s

",pHead->next->tired?"在职":"退休");
        pHead=pHead->next;
    }

}
PEOPLE *init(PEOPLE *pHead,PEOPLE *pTail)
{
    PEOPLE *pNew=NULL;
    pNew=(PEOPLE *)malloc(sizeof(PEOPLE));
    meError(pNew);
    pNew->next=NULL;
    strcpy(pNew->name,"小王");
    pNew->age=18;
    pNew->worktime=5;
    pNew->sex=0;
    pNew->marrige=0;
    pNew->grade=1;
    pNew->wage=3000;
    pNew->tired=0;
    pTail=newPeople(pHead,pTail,pNew);

    pNew=(PEOPLE *)malloc(sizeof(PEOPLE));
    meError(pNew);
    pNew->next=NULL;
    strcpy(pNew->name,"小李");
    pNew->age=22;
    pNew->worktime=6;
    pNew->sex=0;
    pNew->marrige=0;
    pNew->grade=1;
    pNew->wage=3500;
    pNew->tired=1;
    pTail=newPeople(pHead,pTail,pNew);

    pNew=(PEOPLE *)malloc(sizeof(PEOPLE));
    meError(pNew);
    pNew->next=NULL;
    strcpy(pNew->name,"小爱");
    pNew->age=21;
    pNew->worktime=7;
    pNew->sex=1;
    pNew->marrige=0;
    pNew->grade=2;
    pNew->wage=3800;
    pNew->tired=1;
    pTail=newPeople(pHead,pTail,pNew);

    pNew=(PEOPLE *)malloc(sizeof(PEOPLE));
    meError(pNew);
    pNew->next=NULL;
    strcpy(pNew->name,"小涛");
    pNew->age=24;
    pNew->worktime=8;
    pNew->sex=1;
    pNew->marrige=1;
    pNew->grade=3;
    pNew->wage=4200;
    pNew->tired=1;
    pTail=newPeople(pHead,pTail,pNew);

    pNew=(PEOPLE *)malloc(sizeof(PEOPLE));
    meError(pNew);
    pNew->next=NULL;
    strcpy(pNew->name,"小明");
    pNew->age=25;
    pNew->worktime=7;
    pNew->sex=1;
    pNew->marrige=1;
    pNew->grade=4;
    pNew->wage=4300;
    pNew->tired=1;
    pTail=newPeople(pHead,pTail,pNew);

    pNew=(PEOPLE *)malloc(sizeof(PEOPLE));
    meError(pNew);
    pNew->next=NULL;
    strcpy(pNew->name,"小艾");
    pNew->age=26;
    pNew->worktime=8;
    pNew->sex=0;
    pNew->marrige=1;
    pNew->grade=5;
    pNew->wage=4500;
    pNew->tired=1;
    pTail=newPeople(pHead,pTail,pNew);
    return pTail;
}
PEOPLE *newPeople(PEOPLE *pHead,PEOPLE *pTail,PEOPLE *pNew)
{
    if(pHead->next==NULL)
        pHead->next=pNew;
    else
        pTail->next=pNew;
    pTail=pNew;
    return pTail;
}
void meError(void *p)//内存申请失败
{
    if(p==NULL)
    {
        printf("
异常:内存申请失败!回车结束程序!
");
        while(getch()!='');
        exit(0);
    }
}


#include <stdio.h>
#include <conio.h>

#define ARR_LEN 255 /*数组长度上限*/

typedef struct staff {
    char name[50];
    int age;
    int worktime;
    int sex;
    int marriage;
    int grade;
    int wage;
    int tired; /*1退休;0在职*/
} staff;

int main (void) {
staff s[ARR_LEN];
int n;
int i;

/* 根据实际情况录入职工数据,此处略 */ 
n = 5; 

for (i=0; i<n; i++) {
if (s[i].tired == 1)
s[i].wage += 50;
else
switch (s[i].grade) {
case 1: s[i].wage += 20; break;
case 2: s[i].wage += 40; break;
case 3: s[i].wage += 60; break;
case 4: s[i].wage += 80; break;
case 5: s[i].wage += 100; break;
}
}

getch (); /* 屏幕暂留 */
return 0;
}


int const MAX = 10; // 假设10个员工,自己修改
struct Staff {
    char name[50];
    int age;
    int worktime;
    int sex;
    int marriage;
    int grade; // 级别
    int salary; // 工资,
    int tired; // 1: 退休, 0:在职
}
void increase_salary(Staff *s) {
    if(s->tired) {// 退休职工
        s->salary += 50; // 退休 加 50
        return;
    }
    // 在职员工, 每级增加20元
    s->salary += 20 * s->grade;
}

int main (void) {
    Staff staff[MAX];
    // 初始化 员工数据, 省略
    for(int i = 0; i < MAX; ++i) {
        increase_salary(&staff[i])  // 调整第 i 个员工工资
    }
}



c语言题目,求大神解答
C语言代码如下:include <stdio.h> int main() { int a, b, c;scanf("%d,%d,%d", &a, &b, &c);printf("%d\\n%d\\n%d\\n", a * a, b * b, c * c);return 0;} 运行结果如下:输出符合测试用例,望采纳~

C语言题目,求大神解答
p=aa;\/\/p指向数组aa首地址,即a的位置 当i=0时,会执行 if ( i==0 ) aa[i][i+1]=**(p++); \/\/这时p=p+1,p指向了aa数组的第二行首地址,即d所在位置,所以,printf("%c\\n", **p ); 输出d 答案为C

C语言题目,求大神解析!
程序1,输出:a972 include<stdio.h> union example_uni { int i;char ch;}a;int main(){ a.ch='a';printf("%c%d",a.i,a.ch); \/\/输出a97('a'的ASCII码即为97)a.i=2;printf("%d",a.i); \/\/输出2 } 程序2,输出:8 12 20 include<stdio.h> int f(int a)...

C语言题目,求大神解答
根据要求,可以编写如下结构数组数据处理程序:include <stdio.h> include <string.h> \/\/定义结构类型 typedef struct { long id; \/\/学号 char name[10]; \/\/姓名 char sex[2]; \/\/性别 }PS;\/\/删除函数 int delete(PS *p1, int m, PS *p2, int n){ int i, j;\/\/遍历p1数组...

求大神解答一道c语言题目
答案: c 分析: char类型指针s指向字符串"abcde"的首地址,也就是字符'a'的地址;s += 2 就是说说指针向前移动了2个单位,此时s指向的是字符'c'的地址;最后函数printf输出时, 指针s没有加*号,所以输出的是指针s所指向的地址,如果加了*号就会输出字符'c'的ASCII码,故选c;...

C语言题目,求大神
这道题考的是运算符的优先级问题,括号的优先级最高,先运算括号里的。逗号表达式的优先级是从左到右并且逗号表达式的值等于最右边的式子的值,因此先执行a=3。’++‘的优先级比‘=’高。++a即a先自加1,a=4,然后执行b=a,那么b就是4。然后x就等于括号里逗号表达式的值,就是4。所以答案是...

C语言题目,求大神赐教
选A,在ASCII中,字符是被以数值编码的方式存储的,所以每个符号对应于个数值,当这个字符以整数输出时,即%d,就输出其数值;当以符号形式输出时,即%c就输出符号。而ch1经运算后是67,对应字符C,而以%d输出,所以输出67;ch2运算后是68,对应字符D而以%c输出,所以输出D ...

C语言题目,求大神解答
以下是使用C语言编写的解答:```c include <stdio.h> include <string.h> void compressRLC(char* input, char* output) { int length = strlen(input);int count = 1;for (int i = 0; i < length; i++) { if (input[i] == input[i+1]) { count++;} else { sprintf(output ...

语言题目,求大神教导第六题解题过程
首先do while是肯定会执行至少一轮循环 首轮循环输出结果是3,这里考察后置--操作符,其值是x,副作用是x=x-1.因此第一个输出肯定是3,排除了a和d 之后看循环继续条件为 !x,即x为0则继续循环,否则退出循环 根据上面的分析,循环一次后x为2,退出循环 因此只能输出一个3 ...

C语言题目,求大神解答
以下是一个简单的C语言程序,可以实现为指定的文本文件创建一个副本文件的命令:```c include <stdio.h> include <stdlib.h> int main(int argc, char *argv[]) { FILE *fp1, *fp2;int ch;if (argc != 3) { printf("Usage: %s source_file dest_file\\n", argv[0]);exit(EXIT_...

隆安县19711376672: 三道C语言题目,求大神. -
褒庞力扬: 第一题#include<stdio.h>int main() {int a[7][7];int n,i,j,sum=0;printf("Input n:");scanf("%d",&n);puts("Input array:");for(i=0;i<n;i++){for(j=0;j<n;j++){scanf("%d",&a[i][j]);if(i==n-1||j==n-1||(i+j==n-1))continue;sum+=a[i][j]; }}printf...

隆安县19711376672: C语言的一道题目,求大神进? -
褒庞力扬: 12345678910 intfindchar(char**strings, intnum, charvalue){ inti, j, n = 0; for(i=0; i<num; i++) for(j=0; strings[i][j]; j++) if(strings[i][j] == value){ n++; break; } returnn; }

隆安县19711376672: C语言的题目?求大神解答了~~~~~~~~~~~~~~题目如下 -
褒庞力扬: 楼主题目没问题,当输入2 4时,确实和为15.希望楼主采纳.#include<stdio.h>#define MAX 210 int Int[MAX]={2}; int is_prime(int x) { for (int i= 2; i*i <= x; i++) if (x % i == 0) return -1; return x; } int main() { int m,n; scanf("%d %d",&m,&n); int ...

隆安县19711376672: C语言题目,求大神 -
褒庞力扬: int main() { int day = 0; int y = 0; int m = 1; int d = 0; scanf("%d-%d-%d", &y, &m, &d); switch(m-1) // 故意没有在case里加break { //case 12: //day += 31; case 11: day += 30; case 10: day += 31; case 9: day += 30; case 8: day += 31; case 7: day += ...

隆安县19711376672: c语言考试题来大神 -
褒庞力扬: #include "stdio.h"int main(void){int x,y;printf("please x:");scanf("%d",&x);if(x<1){y=x;}if(x>=1&&x<10){y=2*x-1;}if(x>=10){y=3*x-11;}printf("y=%d",y);}经测试,合格的!!!

隆安县19711376672: c语言题目,大神来看一看 -
褒庞力扬: 这个题目要求比较多,要考虑的也多,比如,表达式后面一个数是负数时就需要加括号,除法最好是整除的题,否则很难精确判断回答是否正确,除法题的除数不能取0,等待.#include#include#include#define random(num) (rand()%(num))#...

隆安县19711376672: C语言的一道练习题,大神来一下 -
褒庞力扬: int *p = malloc(sizeof(int) * 10); for (int i = 0; i < 10; i++) { *(p + i) = arc4random() % (40 - 20 + 1) + 20; printf("%d\n", *(p + i)); } free(p); p = NULL;

隆安县19711376672: C语言题目来大神!!! -
褒庞力扬: #include <stdio.h>#include <stdlib.h>#include<string.h>void fun(char * str,int len){ int temp; int arr[len]; arr[0]=atoi(strtok(str," "));for(int i=1;i<len;i++){ arr[i]=atoi(strtok(NULL," ")); } for (int i = 0;i < len - 1; i++) for (int j = 0; j < len - 1 - i; j++) if (arr[j] ...

隆安县19711376672: c语言题目求大神解答 -
褒庞力扬: #include<stdio.h>void sort(int *a, int l)//a为数组地址,l为数组长度.{ int i, j; int v; //排序主体 for(i = 0; i < l - 1; i ++) for(j = i+1; j < l; j ++) { if(a[i] > a[j])//如前面的比后面的大,则交换. { v = a[i]; a[i] = a[j]; a[j] = v; } }}int main(){ int n,m=0; int A[1000],B[...

隆安县19711376672: C语言题目 高手来 跪求 在线等 给最佳
褒庞力扬: 你说的坐下包括对角线吗??我这里写的是包括对角线的.如果你不要包括对角线的只需把粗体字改下去掉等号..#include "stdio.h" void change(int (*p)[256],int N,int n) {for (int i=0;i<N;i++) { for (int j=0;j<=i;j++) //如果不改变主对角线的值...

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