美文网首页
C语言程序设计题

C语言程序设计题

作者: FLY_8219 | 来源:发表于2020-07-09 18:17 被阅读0次
//输出100以内的所有质数
#include <stdio.h>

int main(void) { 
     bool isPrime = true;
    for (int i = 2; i < 100; i++) {
        isPrime = true;
        for (int j = 2; j<i; j++) {
            //如果被整除
            if (i%j == 0){
                isPrime = false;
                break;
            }
            
        }
        if (isPrime == true){
           printf("%d,",i);
        }
    }
    return 0;
}
-(void)isSuShu{
    int flag,i,j;
    for (i = 2; i<100; i++) {
        flag = 0;
        for (j=2; j<i; j++) {
            if (i%j == 0)
            {
                flag = 1;
                break;
            }
            
        }
        if (flag == 0){
            NSLog(@"%d=",i);
        }
    }
}
100以内的质数.png
//打印空心菱形
#include <stdio.h>
int main(void) { 
    int line;
    scanf("%d", &line);
    int middleLine = (line+1)/2 ;
    for (int i = 1; i<=line; i++) {
        for (int j = 1; j<=line; j++) {
            //* middleLine-i <* <middleLine+i
            if(i<=middleLine){
                if(j==middleLine-i+1||j==middleLine+i-1){
                    printf("*");
                }else{
                    printf(" ");
                }
            }else{
                if(j==i-middleLine+1||j==3*middleLine-i-1){
                    printf("*");
                }else{
                    printf(" ");
                }
            }
        }
        printf("\n");
    }
    return 0;
}

空心菱形打印结果.png
//打印实心菱形
int main(void) { 
    int line;
    scanf("%d", &line);
    int middleLine = (line+1)/2 ;
    for (int i = 1; i<=line; i++) {
        for (int j = 1; j<=line; j++) {
            //* middleLine-i <* <middleLine+i
            if(i<=middleLine){
                if(j>middleLine-i&&j<middleLine+i){
                    printf("*");
                }else{
                    printf(" ");
                }
            }else{
                if(j>i-middleLine&&j<3*middleLine-i){
                    printf("*");
                }else{
                    printf(" ");
                }
            }
        }
        printf("\n");
    }
    return 0;
}
实心菱形打印结果.png
//分解质因数
#include <stdio.h>
int main() { 
    int n,i;
    scanf("%d",&n);
    for(i=2;i<=n;i++){
        while(n%i==0){           
                printf("%d*",i);
                n=n/i;
        }
        
    }     
}
分解质因数.png
//输入一个数,求各个位数的和
main() { 
    int n,sum;
    scanf("%d",&n);
    while(n%10!=0){
        sum=sum+n%10;
        n=n/10;
    }
    printf("每个位数和=%d",sum);
}
//输入一串字符串,输出单词的个数
main() { 
  
    //定义一个string字符数组来接收输入的字符串
    //定义一个c字符用来比较当前字符是否是空格
    char string[100];
    //count用来统计单词个数,
    // 使用flag来标识如何为一个新的单词,为一个新单词的标准是前面的一个字符为空格,且初始值为0
    int i, count = 0, flag = 0;
    gets(string);//输入一个字符串给字符数组string
    for (i = 0; string[i] != '\0'; i++) {
        if (string[i] == ' ')//如果是空格字符,使word置0
        {
            flag = 0;
        } else if (flag == 0)//如果不是空格字符,且flag原来的值为0,即前面是空格,使flag置1
        {
            flag = 1;
            count++;
        }
    }
    printf("count=%d\n", count);

    
}
44、数据模型如下:
商品:P(PNO,PNAME,PRICE),分别表示商品号、名称、单价。
售货员:S(SNO,SNAME,SXB),分别表示售货员号、姓名、性别。
销售记录:R(PNO、SNO、NUM),分别表示商品号、售货员号、销售数量。 
要求用SQL查询完成: 
(1)所有售货员都出售过的商品名称。
(2)每个销售人员的总计销售金额。


CREATE TABLE p
(
pno int,
pname varchar(255),
price int
);
INSERT INTO p VALUES (1, '商品1',5);
INSERT INTO p VALUES (2, '商品2',10);
INSERT INTO p VALUES (3, '商品3',1);

CREATE TABLE s
(
sno int,
sname varchar(255),
sxb int
);
INSERT INTO s VALUES (1, '张三',1);
INSERT INTO s VALUES (2, '李四',0);
INSERT INTO s VALUES (3, '王五',1);

CREATE TABLE r
(
pno int,
sno int,
num int
);
INSERT INTO r VALUES (1, 1,5);
INSERT INTO r VALUES (3, 1,2);

INSERT INTO r VALUES (2, 2,1);
INSERT INTO r VALUES (2, 2,2);

INSERT INTO r VALUES (3, 3,1);
INSERT INTO r VALUES (3, 3,1);
INSERT INTO r VALUES (3, 3,1);


(1)
/*select distinct pname from p,r where p.pno = r.pno;*/
select pname from p where pno in (select pno from r);
(2)
select sname,sum(num),sum(num*price) from s,p,r where r.sno=s.sno and r.pno = p.pno group by r.sno;


update r set num=num*1.1 where sno=1
注意:set后面可以紧随多个数据列的更新值(非数字要引号);where子句是可选的(非数字要引号),用来限制条件,如果不选则整个表的所有行都被更新

相关文章

网友评论

      本文标题:C语言程序设计题

      本文链接:https://www.haomeiwen.com/subject/lxvscktx.html