c语言2223
⑴ c语言:编程求数列3+23+223+2223+...前8项之和,咋写
代码文本:
#include "stdio.h"
int main(int argc,char *argv[]){
int n,s,t,i;
for(s=10,n=2;n<9;n++){
for(t=10,i=1;i<n;t*=10,i++);
s+=(t-1)/9*2;
}
printf("3+23+223+...+22222223 = %d ",s);
return 0;
}
⑵ C语言问题,求大神解决,谢谢拉。。我是小白,解释下原因
scanf("%d%c%f",&a,&b,&c);//%d后面无空格
printf("%d %c %f ",a,b,c);
输出2223 a 123.00000
⑶ c语言求一个数的因子
#include <stdio.h>
# include <stdlib.h>
#define N 100
long factor(int m,int fac[],int *cp){
int c1,c2,i,k;
long s;
fac[0]=1;
for(c1=s=1,c2=N-1,i=2;;){
k=m/i;
if(m%i==0){
if(i!=k){
fac[c1++]=i;
fac[c2--]=k;
s+=i+k;
printf("i=%d k=%d ",i,k);
}else{
fac[c1++]=i;
s+=i;
}
}
i++;
if(i>=k) break;//这个时候k已经开始等于自身的根号,或者将要出现和之前k对称的i,引起自身重复故退出
}
for(c2++;c2<=N-1;c2++){
fac[c1++]=fac[c2];
printf("%s %d ","**",fac[c2]);
}
*cp=c1;
return s;
}
int main(int argc, char const *argv[])
{
/* code */
int factors[N],i,count;
long sum;
sum = factor(atoi(argv[1]),factors,&count);
for(i=0;i<count;i++){
printf("%5d",factors[i]);
}
printf(" ");
printf("sum=%5ld count=%5d ",sum,count);
return 0;
}
(3)c语言2223扩展阅读:
有一种说法是“因子不限正负”,不过通常情况下只取正因子。
1, -1, n 和 -n 这些数叫做 n 的明显因子
表示方法:可以用因子|倍数或倍数≡0 (mod 因子) 来表达(参见同余),但用后者时因子一定要是正因子。因子∣倍数式中的垂直线是整除符号。它的统一码值是 U+2223。
例如 42=6x7,因此 7 是 42 的因子,写作 7∣42,亦是42≡0(mod 7)。
⑷ error C2223: left of '->next' must point to struct/union
你的k应该定义为结构体变量,如果你要用->,还必须是个指针变量
struct
node
*k;
申请空间也一样
k=(struct
node*)malloc(sizeof(struct
node));
p也一样;
你好像是吧typedef的用法弄错了,你是不是本来想写typedef
struct
node*
LinkedList;的
⑸ error C2223: left of '->a' must point to struct/union 如何解决错误,程序在下面
你想赋值?那不能用这种写法,这样做
#include<stdio.h>
void main()
{
float a;
a=1+2;
a=a+3;
a=a+4;
a=a+5;
a=a+6;
a=a+8;
a=a+9;
a=a+10;
printf("%f",a);
}
⑹ 用c语言求一个数的所有因子
C语言程序如下:
#include <stdio.h>
# include <stdlib.h>
#define N 100
long factor(int m,int fac[],int *cp){
int c1,c2,i,k;
long s;
fac[0]=1;
for(c1=s=1,c2=N-1,i=2;;){
k=m/i;
if(m%i==0){
if(i!=k){
fac[c1++]=i;
fac[c2--]=k;
s+=i+k;
printf("i=%d k=%d ",i,k);
}else{
fac[c1++]=i;
s+=i;
}
}
i++;
if(i>=k) break;//这个时候k已经开始等于自身的根号,或者将要出现和之前k对称的i,引起自身重复故退出
}
for(c2++;c2<=N-1;c2++){
fac[c1++]=fac[c2];
printf("%s %d ","**",fac[c2]);
}
*cp=c1;
return s;
}
int main(int argc, char const *argv[])
{
/* code */
int factors[N],i,count;
long sum;
sum = factor(atoi(argv[1]),factors,&count);
for(i=0;i<count;i++){
printf("%5d",factors[i]);
}
printf(" ");
printf("sum=%5ld count=%5d ",sum,count);
return 0;
}
(6)c语言2223扩展阅读:
数学概念
假如整数n除以m,结果是无余数的整数,那么我们称m就是n的因子。 需要注意的是,唯有被除数,除数,商皆为整数,余数为零时,此关系才成立。反过来说,称n为m的倍数。
要留意的是:有一种说法是“因子不限正负”,不过通常情况下只取正因子。
1, -1, n 和 -n 这些数叫做 n 的明显因子
⑺ 用c语言求一个数的所有因子
#include <stdio.h>
# include <stdlib.h>
#define N 100
long factor(int m,int fac[],int *cp){
int c1,c2,i,k;
long s;
fac[0]=1;
for(c1=s=1,c2=N-1,i=2;;){
k=m/i;
if(m%i==0){
if(i!=k){
fac[c1++]=i;
fac[c2--]=k;
s+=i+k;
printf("i=%d k=%d ",i,k);
}else{
fac[c1++]=i;
s+=i;
}
}
i++;
if(i>=k) break;//这个时候k已经开始等于自身的根号,或者将要出现和之前k对称的i,引起自身重复故退出
}
for(c2++;c2<=N-1;c2++){
fac[c1++]=fac[c2];
printf("%s %d ","**",fac[c2]);
}
*cp=c1;
return s;
}
int main(int argc, char const *argv[])
{
/* code */
int factors[N],i,count;
long sum;
sum = factor(atoi(argv[1]),factors,&count);
for(i=0;i<count;i++){
printf("%5d",factors[i]);
}
printf(" ");
printf("sum=%5ld count=%5d ",sum,count);
return 0;
}
(7)c语言2223扩展阅读:
有一种说法是“因子不限正负”,不过通常情况下只取正因子。
1, -1, n 和 -n 这些数叫做 n 的明显因子
表示方法:可以用因子|倍数或倍数≡0 (mod 因子) 来表达(参见同余),但用后者时因子一定要是正因子。因子∣倍数式中的垂直线是整除符号。它的统一码值是 U+2223。
例如 42=6x7,因此 7 是 42 的因子,写作 7∣42,亦是42≡0(mod 7)。
⑻ c语言输出二十五宫格代码
用拉伊尔法制造五阶幻方(25宫格)
第一步:构造基方:用1-5填写幻方,使两回对角线上分别答是12345和33333,而且每横行纵行和均为15,如下
1 4 2 5 3
4 2 5 3 1
2 5 3 1 4
5 3 1 4 2
3 1 4 2 5
第二步:然后构造根方:将基方左右调转过来,每个数都减去1,再乘以5,得到如下
10 20 5 15 0
0 10 20 5 15
15 0 10 20 5
5 15 0 10 20
20 5 15 0 10
第三步:根方和基方每个对应小格中的数相加,得到最后的幻方
11 24 7 20 3
4 12 25 8 16
17 5 13 21 9
10 18 1 14 22
23 6 19 2 15
即二十五宫格。
⑼ c语言问题,和结构体有关
NULL在系统中有定义无需自己定义。
struct student *p1,*p2,*head;//你忘记定义后面的head要定义
struct student.subject math;//这句好像没有用。
scanf("%f",&p1->subject.math); //subject.math 改为.指针才用-> /*到这里让p1指向第一组数据结束*/
int n=n+1; //你忘记定义n了
scanf("%f",&p1->subject.math);//subject.math 改为.指针才用->
你试试看还有什么问题