c语言 1+2^2+3^3+4^4+...+n^n ,n的n次方

哪里错了哥哥们

两个错误,一个是y==pow()这个==应该改为=,其次,pow(i,2)是第二个问题

 

#include <stdio.h>
#include <math.h>
int main () {
    int sum,i,n;
    double y;
    sum = 0;
    printf("请输入n的值:");
    scanf("%d",&n);
    for(i =1;i <=n;i++) {
        y = pow(i,i);
        sum = sum+y;
    }
    printf("%d\n",sum);
	return 0;
}

for循环里只需要写 sum+=i*i; 就可以啦

你的scanf输入的时候标识符是%d,这个是整形变量,你赋值的n也必须是整形,但是你一开始定义n的时候定义的double型,就导致n没有进去。你的程序y==pow(i,i)根本没有进去。

int main()
{
	double sum, i;
	int n;
	double y = 0;
	sum = 0;
	scanf("%d", &n);
	for (i = 1; i <= n; i++)
	{
		y = pow(i, i);
		sum = sum + y;
	}
	return 0;
}